Function at 0x100043b0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x54
mov ecx, dword [0x1005cd4c]
push ebx
mov ebx, dword [0x1005cd50]
push ebp
mov ebp, dword [0x1005cd58]
push esi
push edi
mov edi, dword [0x1005cd5c]
mov edx, ebx
imul edx, edi
mov esi, ecx
sub esi, edx
lea edx, [esi*4 - 4]
mov esi, 1
imul edx, edi
sub esi, ebp
imul esi, ebp
add esi, 2
imul esi, ecx
mov eax, ebp
imul eax, ebx
add esi, eax
add esi, ebx
lea ecx, [edx + esi*4 + 0x40]
lea edx, [edi + 2]
imul edx, edi
mov dword [esp + 0x14], eax
lea eax, [ebp*4]
sub ecx, eax
mov eax, dword [0x1005cd54]
mov esi, eax
sub esi, edx
mov edx, esi
mov esi, dword [0x1005cd60]
imul eax, esi
sub edx, eax
sub edx, ebp
sub edx, ebx
sub edx, esi
add edx, dword [esp + 0x6c]
mov dword [esp + 0x18], 0
push edx
call fcn.10002b30
add esp, 4
test eax, eax
je 0x10004b86
mov ecx, dword [0x1005cd54]
mov eax, ecx
imul eax, edi
mov edx, edi
imul edx, edi
add eax, ebp
add edx, esi
imul eax, ebx
imul edx, ebp
sub eax, edx
mov edx, ecx
imul edx, ecx
add eax, edx
mov edx, dword [esp + 0x68]
movzx edx, word [edx]
sub eax, ebx
lea eax, [eax*4 + 0x5a4d]
cmp edx, eax
jne 0x10004b86
mov eax, dword [esp + 0x68]
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x30], edx
lea eax, [ebp + ebp]
mov dword [esp + 0x2c], eax
mov eax, dword [0x1005cd4c]
mov edx, eax
imul edx, eax
imul edx, ebp
imul edx, ebx
imul edx, esi
lea edx, [edx + edx + 2]
imul edx, esi
add eax, 1
imul eax, ebp
lea edx, [edx + ebx*2 + 8]
imul edx, ebx
lea ecx, [ecx + ecx + 0x7c]
sub ecx, eax
lea eax, [esi + esi*2]
sub ecx, eax
lea ecx, [edx + ecx*2]
lea eax, [edi + edi]
sub ecx, eax
sub eax, dword [esp + 0x2c]
add ecx, dword [esp + 0x30]
lea edx, [ebp + ebp + 6]
sub eax, 6
mov ebp, edx
imul eax, esi
add eax, dword [esp + 0x6c]
lea edx, [ebx + ebx]
sub ebp, edx
imul ebp, dword [0x1005cd54]
lea edx, [edi + edi*2]
add eax, ebp
lea eax, [eax + edx*2]
push eax
call fcn.10002b30
add esp, 4
test eax, eax
je 0x10004b86
mov ecx, dword [0x1005cd54]
mov edx, ebx
imul edx, esi
lea ebp, [edi + edi - 2]
imul ebp, ecx
lea ebp, [ebp + edx*2]
imul ebp, dword [0x1005cd4c]
mov edx, dword [esp + 0x14]
imul edx, esi
mov eax, edi
imul eax, esi
sub eax, edx
mov edx, dword [esp + 0x68]
add ebp, dword [edx + 0x3c]
add eax, ebx
lea eax, [ebp + eax*2]
add eax, edx
mov edx, dword [0x1005cd4c]
add edx, 2
imul edx, ecx
lea ebp, [esi + 1]
imul ebp, esi
sub edx, ebp
add edx, dword [0x1005cd4c]
lea ebp, [ebx + ebx - 2]
imul ebp, edi
lea ebp, [ebp + edx*2 + 0x4550]
mov edx, dword [0x1005cd58]
add edx, edx
sub ebp, edx
cmp dword [eax], ebp
mov dword [esp + 0x10], eax
jne 0x10004b86
mov edx, ebx
imul edx, ebx
mov dword [esp + 0x3c], edx
imul edx, ecx
mov dword [esp + 0x2c], edx
imul edx, edi
imul edx, esi
mov ebp, 0x14c
sub ebp, edx
movzx edx, word [eax + 4]
cmp edx, ebp
jne 0x10004b86
mov eax, dword [eax + 0x38]
mov edx, dword [0x1005cd4c]
mov dword [esp + 0x20], eax
mov ebp, eax
mov eax, esi
sub eax, ebx
imul eax, edx
sub eax, ebx
sub eax, ecx
sub eax, esi
sub eax, esi
add eax, edx
add eax, dword [0x1005cd58]
lea eax, [eax + edi + 1]
test ebp, eax
jne 0x10004b86
lea eax, [edi + 1]
mov dword [esp + 0x30], eax
mov eax, ecx
sub eax, ebx
imul eax, ebx
imul eax, edi
lea edx, [eax + edx + 3]
imul edx, ecx
mov eax, edi
sub eax, dword [0x1005cd58]
lea eax, [edx + eax*2]
lea edx, [edi + esi]
imul edx, ebx
sub eax, edx
mov edx, dword [esp + 0x30]
imul edx, dword [0x1005cd4c]
add eax, edx
lea edx, [eax + eax*4]
mov eax, dword [esp + 0x10]
movzx ebp, word [eax + 0x14]
shl edx, 4
add edx, eax
lea eax, [edx + ebp + 0x18]
mov edx, dword [0x1005cd4c]
mov ebp, dword [0x1005cd58]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
imul eax, esi
add eax, edx
imul edx, esi
imul eax, ebp
add eax, edi
imul eax, ebx
sub edx, eax
lea eax, [ebp + ebp]
sub edx, eax
mov eax, dword [esp + 0x10]
movzx eax, word [eax + 6]
lea edx, [edx + edx*2]
add edx, eax
mov dword [esp + 0x34], edx
je 0x10004766
mov eax, dword [0x1005cd4c]
imul eax, ecx
lea edx, [eax + eax*2]
mov dword [esp + 0x1c], edx
lea eax, [ecx + edi]
lea eax, [eax + eax*2]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
lea edx, [ebp + ebp*2]
sub eax, edx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x1c]
sub eax, 3
add edx, 3
imul eax, esi
imul edx, ebp
sub eax, edx
mov edx, eax
lea eax, [ebx + ebx*2]
sub edx, eax
mov eax, dword [esp + 0x24]
add edx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x14]
add edx, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
cmp dword [edx + 4], 0
jne 0x100046ed
lea edx, [edi + esi]
add edx, edx
lea ebp, [ebx + ebx]
sub edx, ebp
add edx, dword [esp + 0x20]
jmp 0x100046fd
mov edx, dword [esp + 0x24]
lea ebp, [ebx + ebx*2]
sub edx, ebp
mov ebp, dword [esp + 0x14]
add edx, dword [ebp + 4]
mov ebp, dword [esp + 0x14]
add edx, dword [ebp]
mov ebp, dword [esp + 0x38]
add ebp, eax
cmp edx, ebp
mov ebp, dword [0x1005cd58]
mov dword [esp + 0x1c], edx
jbe 0x10004752
mov eax, dword [esp + 0x28]
add eax, 3
imul eax, edi
lea edx, [ecx + ecx*2]
sub eax, edx
lea edx, [ebx + ebx*2]
add eax, edx
mov edx, dword [0x1005cd4c]
imul eax, ecx
sub edx, dword [esp + 0x3c]
sub edx, ebp
add edx, edi
lea edx, [edx + edx*2]
add eax, edx
mov edx, dword [esp + 0x28]
add edx, 6
imul edx, esi
sub eax, edx
add eax, dword [esp + 0x1c]
add dword [esp + 0x14], 0x28
sub dword [esp + 0x2c], 1
jne 0x100046d3
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x30]
add ecx, 1
imul eax, ebx
imul ecx, esi
sub eax, ecx
add eax, ebp
lea eax, [eax + eax*8]
lea ecx, [esp + eax*8 + 0x40]
push ecx
call dword [0x1005f77c]
mov ecx, dword [0x1005cd4c]
mov esi, dword [0x1005cd54]
mov edi, dword [0x1005cd5c]
mov eax, dword [0x1005cd58]
mov ebx, dword [0x1005cd60]
add ecx, 0xffffffff
mov dword [esp + 0x28], ecx
mov ecx, esi
imul ecx, edi
mov edx, eax
imul edx, eax
lea ecx, [ecx + ebx + 2]
imul ecx, dword [0x1005cd50]
mov ebp, 1
sub ebp, ebx
imul ebp, esi
mov dword [esp + 0x34], edx
add ecx, ebp
sub ecx, edx
mov edx, eax
imul edx, esi
add edx, 1
imul edx, dword [0x1005cd4c]
imul edx, eax
mov eax, 1
sub eax, edx
add eax, eax
mov edx, eax
mov eax, dword [0x1005cd50]
lea ebp, [eax + edi]
add ebp, ebp
sub edx, ebp
imul edx, eax
lea eax, [ebx + ebx]
mov ebp, 2
sub ebp, eax
imul ebp, esi
add edx, ebp
lea eax, [edi + edi]
sub edx, eax
mov eax, dword [esp + 0x10]
add edx, dword [eax + 0x50]
sub ecx, edi
add ecx, dword [esp + 0x44]
push edx
call fcn.10002af0
mov ecx, dword [esp + 0x2c]
mov edx, dword [0x1005cd4c]
imul ecx, edi
mov ebp, dword [0x1005cd58]
mov dword [esp + 0x40], eax
sub ecx, esi
add ecx, 2
imul ecx, dword [0x1005cd50]
lea eax, [edx + esi + 1]
imul eax, esi
add ecx, eax
mov eax, 1
sub eax, ebp
imul eax, edi
add ecx, eax
lea eax, [edi + 4]
imul eax, ebx
sub ecx, eax
mov eax, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [0x1005cd50]
mov ecx, ebp
imul ecx, eax
mov dword [esp + 0x18], ecx
mov ecx, edx
imul eax, esi
imul ecx, edi
mov dword [esp + 0x3c], ecx
imul ecx, ebx
mov dword [esp + 0x40], ecx
mov ecx, edx
imul ecx, ebp
mov dword [esp + 0x30], ecx
mov ecx, edx
imul ecx, esi
mov dword [esp + 0x34], ecx
mov ecx, dword [0x1005cd50]
mov ebp, ecx
imul ebp, ecx
lea ecx, [esi + esi]
sub ecx, ebp
mov ebp, dword [esp + 0x18]
imul ebp, ebx
lea ebp, [eax + ebp*2]
add ebp, eax
mov eax, dword [esp + 0x40]
sub ecx, dword [esp + 0x30]
add ebp, eax
sub ecx, dword [0x1005cd58]
add ebp, eax
mov eax, dword [0x1005cd58]
add ebp, eax
lea eax, [eax + ebp + 2]
imul eax, edi
mov ebp, dword [esp + 0x18]
add ecx, edx
lea ecx, [eax + ecx*2]
lea eax, [ebx + ebx + 2]
imul eax, ebx
sub ecx, eax
mov eax, dword [esp + 0x34]
add eax, ebp
imul eax, esi
mov ebp, 2
sub ebp, edx
imul ebp, ebx
sub ebp, eax
add ecx, dword [esp + 0x48]
mov eax, ebp
mov ebp, dword [0x1005cd50]
imul edx, ebp
sub eax, edx
sub eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x34]
add eax, ebp
add eax, esi
add eax, edi
add eax, dword [esp + 0x1c]
push eax
call fcn.10002af0
add esp, 8
cmp dword [esp + 0x1c], eax
jne 0x10004b86
mov eax, dword [0x1005cd4c]
mov ecx, 2
sub ecx, ebx
imul ecx, ebp
lea edx, [ebx + ebx]
sub ecx, edx
mov edx, eax
imul edx, eax
imul edx, eax
imul edx, esi
imul edx, esi
lea eax, [edx*4 + 0xc]
mov edx, eax
lea eax, [esi*4]
sub edx, eax
imul edx, edi
add edx, eax
lea eax, [edx + ecx*4 + 4]
mov ecx, dword [0x1005cd58]
push 0
push eax
mov eax, dword [esp + 0x34]
imul eax, ecx
imul eax, edi
mov edx, 0x400
sub edx, eax
mov eax, dword [esp + 0x30]
imul eax, ebx
sub edx, ebx
add edx, edx
sub eax, esi
add edx, edx
add eax, 0x2000
or edx, eax
mov eax, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0x44]
imul eax, edi
add eax, 1
imul eax, ecx
mov edx, esi
sub edx, eax
mov eax, edi
imul eax, ebx
sub edx, ebp
sub edx, edi
lea ecx, [eax + ecx + 1]
add edx, 1
imul ecx, edi
imul edx, ebp
mov eax, esi
sub eax, ebx
imul eax, ebx
sub edx, ecx
mov ecx, dword [esp + 0x20]
add edx, eax
sub edx, esi
add edx, dword [ecx + 0x34]
push edx
call fcn.100042d0
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x14], ebx
jne 0x10004acd
mov edi, dword [0x1005cd4c]
mov edx, dword [0x1005cd5c]
mov eax, edi
imul eax, edx
lea eax, [eax + eax*2]
mov dword [esp + 0x30], eax
mov eax, dword [0x1005cd54]
mov ecx, eax
imul ecx, edx
add ecx, ecx
mov esi, ecx
mov ecx, dword [0x1005cd50]
sub esi, ecx
sub esi, ecx
add esi, 2
imul esi, edx
mov edx, dword [0x1005cd60]
push ebx
mov ebx, edx
sub ebx, eax
lea ebp, [ebx + ebx - 2]
mov ebx, dword [0x1005cd58]
imul ebp, ebx
add esi, ebp
mov ebp, dword [esp + 0x34]
lea esi, [esi + edi*2 + 4]
push esi
mov esi, eax
imul esi, edx
lea esi, [esi + esi*2]
sub ebp, esi
sub ebp, 3
lea esi, [eax + 3]
imul ebp, ecx
imul esi, edx
imul ebp, ecx
lea esi, [esi + ebx*2]
lea esi, [esi + esi*2]
sub ebp, esi
mov esi, 3
sub esi, dword [esp + 0x38]
imul esi, eax
mov eax, edx
imul eax, edx
lea edx, [eax + eax*2]
mov eax, 0x1000
sub eax, edx
mov edx, edi
imul edx, edi
lea esi, [esi + ebp + 0x2000]
or esi, eax
lea eax, [edx + edx - 2]
imul eax, ecx
mov ecx, ebx
lea edx, [ecx + ecx]
sub eax, edx
add eax, dword [esp + 0x24]
push esi
push eax
push 0
call fcn.100042d0
mov ebx, eax
add esp, 0x14
test ebx, ebx
mov dword [esp + 0x14], eax
je 0x10004b86
mov ecx, dword [0x1005cd5c]
mov edx, dword [0x1005cd50]
mov esi, dword [0x1005cd54]
lea edi, [edx + ecx]
imul edi, esi
mov eax, 1
sub eax, edi
mov edi, dword [0x1005cd58]
sub eax, edi
sub eax, ecx
imul eax, ecx
lea edi, [edi + edi*2]
add eax, edi
sub eax, dword [0x1005cd60]
add eax, esi
lea edi, [eax + eax*4]
mov eax, dword [0x1005cd4c]
lea ebp, [eax + eax*4 - 5]
imul ebp, edx
lea edi, [edi + ebp + 0x40]
push edi
mov edi, dword [0x1005cd60]
lea ebp, [ecx - 1]
imul eax, edi
imul ebp, edi
sub ebp, edx
sub ebp, 2
imul ebp, ecx
add eax, 1
imul eax, esi
add ebp, eax
sub ebp, edx
add ebp, 8
push ebp
call dword [0x1005f7b4]
push eax
call dword [0x1005f774]
mov edi, dword [0x1005cd5c]
mov esi, eax
mov eax, edi
shl eax, 8
sub eax, 0x100
imul eax, dword [0x1005cd60]
add esi, eax
jne 0x10004b90
mov eax, dword [0x1005cd54]
lea ecx, [eax + eax*2]
push 0
mov edx, 0x8000
sub edx, ecx
push edx
push 0
push ebx
call fcn.100042f0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
mov ecx, dword [0x1005cd54]
mov edx, dword [0x1005cd58]
mov eax, ecx
imul eax, edi
mov dword [esi + 4], ebx
lea ebx, [eax + edx]
mov dword [esp + 0x3c], eax
mov eax, dword [0x1005cd50]
lea ebx, [ebx + eax + 2]
imul ebx, eax
lea ebp, [ecx + ecx + 0x1000]
sub ebp, ebx
mov ebx, dword [esp + 0x10]
movzx ebx, word [ebx + 0x16]
sub ebp, edi
add ebp, edx
add ebp, ebp
and ebp, ebx
neg ebp
sbb ebp, ebp
mov ebx, dword [0x1005cd60]
neg ebp
mov dword [esi + 0x14], ebp
lea eax, [eax + eax*2]
lea ebp, [edi + edi*2]
mov dword [esp + 0x34], ebp
sub ebp, eax
imul ebp, dword [0x1005cd4c]
mov eax, dword [0x1005cd60]
lea eax, [edx + eax + 1]
lea edx, [eax + eax*2]
mov eax, dword [0x1005cd54]
sub eax, dword [0x1005cd58]
add ebp, edx
imul ebp, dword [0x1005cd50]
add ebp, dword [esp + 0x6c]
lea eax, [eax + edi + 1]
imul eax, edi
sub ebx, edi
mov dword [esi + 0x1c], fcn.100042d0
mov dword [esi + 0x20], fcn.100042f0
mov dword [esi + 0x24], 0x10004310
mov dword [esi + 0x28], 0x10004370
mov dword [esi + 0x2c], 0x10004390
mov dword [esi + 0x34], 0
add ebx, dword [esp + 0x44]
lea edx, [eax + eax*2]
mov dword [esi + 0x3c], ebx
mov ebx, dword [esp + 0x10]
mov ebx, dword [ebx + 0x54]
add ecx, ecx
add edx, ebp
mov dword [esp + 0x38], ecx
add ecx, ebx
push edx
call fcn.10002b30
add esp, 4
test eax, eax
je 0x10004f82
mov eax, dword [0x1005cd58]
mov ecx, dword [0x1005cd50]
mov ebp, ecx
mov edx, eax
imul edx, eax
mov eax, dword [0x1005cd54]
imul ebp, eax
imul edx, eax
mov eax, dword [0x1005cd4c]
imul ebp, edi
add edx, ebp
imul edx, eax
add edx, 3
imul edx, ecx
mov ecx, 2
sub ecx, edx
mov edx, dword [0x1005cd60]
add ecx, ecx
mov ebp, ecx
mov ecx, dword [esp + 0x3c]
add ecx, edx
lea ecx, [ecx + ecx + 6]
imul ecx, edx
sub ebp, ecx
mov ecx, dword [esp + 0x38]
sub ebp, ecx
lea eax, [eax + eax*2]
push 0
push ebp
mov ebp, eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
sub eax, 6
imul eax, edi
sub ecx, edx
add ecx, dword [0x1005cd58]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx + 0x1000]
push eax
mov eax, dword [0x1005cd54]
mov ecx, eax
imul ecx, eax
add ecx, ecx
sub ebx, ecx
sub ebx, edi
sub ebx, edi
sub ebx, edx
sub ebx, edx
push ebx
mov ebx, dword [esp + 0x24]
push ebx
call fcn.100042d0
mov edx, dword [0x1005cd5c]
sub edx, dword [0x1005cd50]
mov ebp, dword [esp + 0x7c]
imul edx, dword [0x1005cd4c]
mov edi, eax
mov eax, dword [0x1005cd58]
lea eax, [edx + eax*2]
sub eax, dword [0x1005cd54]
mov edx, dword [esp + 0x24]
sub eax, dword [0x1005cd60]
lea ecx, [eax + eax*2]
add ecx, dword [edx + 0x54]
push ecx
push ebp
push edi
call dword [0x1005f7bc]
mov ecx, dword [0x1005cd54]
mov eax, dword [0x1005cd5c]
imul ecx, ecx, 0xf8
mov edx, dword [ebp + 0x3c]
sub ecx, 0xfb
imul ecx, eax
add ecx, edi
add ecx, edx
lea edx, [ebx + eax*2]
add edx, eax
mov dword [esi], ecx
mov dword [ecx + 0x34], edx
mov edx, dword [0x1005cd58]
lea edi, [eax + eax]
mov ebx, edi
mov edi, dword [0x1005cd60]
lea ebp, [edi + edi*2]
sub ebx, ebp
mov ebp, dword [0x1005cd4c]
imul ebp, ebp
sub ebx, edx
imul ebp, edx
sub ebx, dword [0x1005cd54]
mov ecx, edx
imul ecx, edx
lea edx, [eax + ebp*2]
lea ebp, [edx + eax + 2]
mov edx, dword [0x1005cd50]
imul ebp, edx
add ebx, ebx
sub ebx, ebp
shl ebx, 6
add ebx, esi
push ebx
mov ebx, dword [esp + 0x34]
push ebx
mov ebx, ecx
sub ebx, edi
add ebx, 1
imul ebx, edx
sub ebx, dword [0x1005cd54]
sub ebx, edi
sub ebx, 1
imul ebx, edx
add ebx, dword [esp + 0x94]
mov edx, 1
sub edx, ecx
imul edx, eax
mov eax, dword [esp + 0x90]
add edx, ebx
push edx
push eax
call fcn.10002b50
add esp, 0x30
test eax, eax
je 0x10004f82
mov ecx, dword [0x1005cd4c]
mov ebp, dword [0x1005cd54]
mov edi, dword [0x1005cd5c]
mov ebx, dword [0x1005cd60]
add ecx, ecx
mov edx, 2
sub edx, ecx
imul edx, edi
mov eax, ebp
imul eax, ebx
lea eax, [edx + eax*2]
mov edx, dword [esi]
add eax, dword [edx + 0x34]
mov edx, dword [esp + 0x10]
sub eax, dword [edx + 0x34]
je 0x10004ed6
mov edx, edi
imul edx, ebx
lea ebp, [edx + edx - 2]
mov edx, dword [0x1005cd50]
imul ebp, edx
lea ecx, [ecx + ebp + 2]
mov ebp, dword [0x1005cd58]
imul ecx, ebx
add ebp, 1
imul ebp, edx
sub ebp, dword [0x1005cd4c]
add ecx, eax
mov eax, dword [0x1005cd58]
mov edx, ebp
mov ebp, dword [0x1005cd54]
sub edx, ebp
lea ecx, [ecx + edx*2]
mov edx, dword [0x1005cd50]
imul edx, edi
add eax, ebp
imul edx, ebx
lea eax, [eax + eax - 2]
imul eax, edi
add eax, ecx
push eax
shl edx, 7
mov eax, esi
sub eax, edx
push eax
call fcn.100039e0
mov ecx, ebp
imul ecx, edi
imul ecx, ebx
mov edx, 1
sub edx, ecx
imul edx, dword [0x1005cd58]
add eax, edi
add edx, eax
add esp, 8
add edx, ebx
mov dword [esi + 0x18], edx
jmp 0x10004edd
mov dword [esi + 0x18], 1
mov eax, dword [0x1005cd50]
lea ecx, [eax + ebp]
imul ecx, edi
lea edx, [eax + eax]
sub ecx, edx
sub ecx, dword [0x1005cd4c]
sub ecx, dword [0x1005cd58]
sub ecx, ebp
add ecx, ebx
shl ecx, 8
add ecx, esi
push ecx
call fcn.10003ce0
add esp, 4
test eax, eax
je 0x10004f82
mov ecx, dword [0x1005cd50]
mov eax, dword [0x1005cd5c]
mov edx, ecx
imul edx, ecx
mov edi, eax
sub edi, edx
sub edi, dword [0x1005cd60]
shl edi, 6
sub edi, 0x40
imul edi, ecx
mov ecx, dword [0x1005cd54]
lea edx, [ecx + ecx]
sub eax, edx
shl eax, 6
add edi, esi
add eax, edi
push eax
call fcn.100033e0
add esp, 4
test eax, eax
je 0x10004f82
mov eax, dword [0x1005cd4c]
lea ecx, [eax + 1]
imul ecx, dword [0x1005cd5c]
mov eax, dword [0x1005cd58]
neg eax
add eax, eax
sub eax, ecx
add eax, dword [0x1005cd50]
lea ecx, [eax + eax*2]
shl ecx, 6
add ecx, esi
call fcn.10003970
test eax, eax
jne 0x10004f91
call fcn.10005670
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
mov edx, dword [esi]
mov ecx, dword [edx + 0x28]
test ecx, ecx
je 0x1000501b
cmp dword [esi + 0x14], 0
je 0x10004fee
mov edx, dword [0x1005cd4c]
mov eax, dword [0x1005cd58]
mov edi, dword [0x1005cd60]
add eax, edx
lea eax, [eax + edi + 2]
imul eax, dword [0x1005cd5c]
add edi, edi
sub eax, edi
add eax, edx
add eax, dword [0x1005cd50]
pop edi
lea ecx, [ecx + eax*2]
add ecx, eax
add ecx, dword [esp + 0x10]
mov dword [esi + 0x10], 1
mov eax, esi
pop esi
pop ebp
mov dword [0x1005f7c4], ecx
pop ebx
add esp, 0x54
ret
mov eax, dword [0x1005cd50]
mov edx, dword [0x1005cd54]
lea edx, [eax + edx + 3]
imul edx, dword [0x1005cd60]
add edx, eax
add edx, edx
sub ecx, edx
add ecx, dword [esp + 0x14]
pop edi
mov dword [esi + 0x38], ecx
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
pop edi
mov dword [esi + 0x38], 0
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret