Function at 0x480660
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0x98]
mov ebx, dword [ebp + 8]
xor edx, edx
push edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0xc], edx
cmp ebx, edx
jne 0x48069c
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
push esi
mov esi, dword [esp + 0xa4]
mov ecx, 0x67
cmp esi, edx
je 0x4806b0
movzx ecx, byte [esi]
lea eax, [ecx - 0x13]
mov dword [esp + 0x14], ecx
cmp eax, 0x8c
ja case.0x4806c9.21
movzx eax, byte [eax + 0x4813a8]
jmp dword [eax*4 + 0x481330]
mov esi, dword [esi + 0xc]
jmp 0x4806a4
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov edx, dword [eax + 0x1c]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0xa4], esi
lea ecx, [edx + ecx*8]
jne 0x4806ff
mov eax, dword [ecx + 0x10]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [eax + 1], 0
je 0x480726
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x62
push ebx
call fcn.00432730
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
xor edx, edx
jmp 0x480731
mov dword [esp + 0xa4], esi
mov eax, dword [esi + 0x1c]
cmp eax, edx
jge 0x480753
mov ecx, dword [ebp + 0x38]
cmp ecx, edx
jge 0x480750
movsx eax, word [esi + 0x20]
pop esi
pop edi
pop ebp
sub eax, ecx
pop ebx
add esp, 0x8c
ret
lea eax, [ecx - 1]
mov ecx, dword [esp + 0xa4]
movzx edx, byte [ecx + 0x26]
push edx
push edi
push eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ecx + 0x2c]
push eax
push ecx
mov esi, ebp
call fcn.00452dc0
add esp, 0x14
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
push edi
push 0
push ebp
mov eax, esi
call fcn.00440d80
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov edx, dword [esi + 8]
xor eax, eax
cmp byte [edx + 4], al
push 0
sete al
push edi
push eax
push 0x43
push ebx
call fcn.00432730
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, esi
mov edx, dword [ecx + 8]
push edi
mov dword [esp + 0xa8], esi
push 0
mov esi, ebx
call fcn.004340f0
add esp, 8
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov edx, esi
mov eax, dword [edx + 8]
push eax
mov dword [esp + 0xa8], esi
mov eax, edi
mov esi, ebx
call fcn.00437d90
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
push 0
push edi
push 0
push 0x46
push ebx
call fcn.00432730
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, esi
mov edi, dword [ecx + 8]
add edi, 2
mov eax, edi
mov dword [esp + 0xa4], esi
call fcn.0041cd80
mov esi, eax
mov eax, dword [ebx]
dec esi
push esi
push eax
call fcn.0042a550
push 0xfffffffffffffff9
push eax
mov eax, esi
mov esi, dword [esp + 0xb8]
cdq
sub eax, edx
sar eax, 1
push eax
push 0x48
xor eax, eax
mov ecx, esi
mov edi, ebx
call fcn.004327c0
add esp, 0x18
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
movsx edx, word [esi + 0x20]
push 0
push edi
push edx
push 0x49
push ebx
mov dword [esp + 0xb8], esi
call fcn.00432730
mov eax, dword [esi + 8]
add esp, 0x14
cmp byte [eax + 1], 0
je 0x4808c4
mov ebp, dword [ebp + 0x1a0]
mov ecx, esi
movsx esi, word [ecx + 0x20]
mov ecx, ebp
call fcn.0041dc30
push 0xffffffffffffffff
mov edx, ebx
mov dword [ebp], 0
call fcn.0042d680
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [esi + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov edx, dword [esi + 0xc]
push edi
push edx
push ebp
mov dword [esp + 0xb0], esi
call fcn.00480660
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x48090b
push 0
push edi
push esi
push 0x4c
push ebx
call fcn.00432730
add esp, 0x14
mov esi, edi
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 8]
xor edi, edi
call fcn.0042f780
mov ecx, dword [esp + 0xa8]
movsx eax, al
push edi
push eax
push ecx
push 0x52
push ebx
call fcn.00432730
push 1
push esi
push ebp
call fcn.00425290
add esp, 0x20
mov eax, esi
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
xor edx, edx
cmp ecx, 0x2d
sete dl
mov dword [esp + 0x10], 0x80
add edx, 0x34
mov dword [esp + 0x14], edx
mov ebx, dword [esi + 0xc]
mov ecx, ebx
call fcn.0042e910
test eax, eax
je 0x48098a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push edi
push ebp
mov eax, esi
call fcn.0047c8e0
add esp, 0x10
jmp 0x48130b
lea edx, [esp + 0x20]
push edx
push ebp
mov eax, ebx
call fcn.00452f50
mov dword [esp + 0x24], eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x10]
push ebp
call fcn.00452f50
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
or ecx, 0x20
push ecx
mov ecx, dword [esp + 0x30]
push edi
push eax
mov eax, dword [esi + 0x10]
push ecx
push edx
push ebp
mov ecx, ebx
call fcn.00452970
add esp, 0x28
jmp 0x48130b
lea eax, [esp + 0x20]
push eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00452f50
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
push ebp
call fcn.00452f50
mov edx, dword [esp + 0x2c]
push edi
push edx
push eax
mov eax, dword [esp + 0x30]
push eax
push ebx
call fcn.00432730
add esp, 0x24
jmp 0x48130b
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x88
jne 0x480a2d
push edi
push 1
push ebp
call fcn.00440d80
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp cl, 0x86
jne 0x480a4f
mov edx, dword [eax + 8]
push edi
push 1
mov esi, ebx
call fcn.004340f0
add esp, 8
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
lea ecx, [esp + 0x20]
push ecx
push ebp
lea eax, [esp + 0x44]
mov byte [esp + 0x44], 0x88
mov dword [esp + 0x48], 0x4400
mov dword [esp + 0x4c], edx
call fcn.00452f50
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00452f50
mov ecx, dword [esp + 0x2c]
push edi
push ecx
push eax
push 0x5a
push ebx
call fcn.00432730
add esp, 0x24
jmp 0x48130b
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x20]
push edx
push ebp
call fcn.00452f50
mov ecx, eax
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov eax, edi
call fcn.004327a0
add esp, 0x10
jmp 0x48130b
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
push ecx
push ebp
mov dword [esp + 0xac], esi
call fcn.00452f50
mov edx, dword [esi + 0x10]
mov ecx, dword [edx + 8]
xor edx, edx
cmp byte [ecx + 4], dl
sete dl
mov ecx, edx
xor edx, edx
cmp byte [esi + 0x26], 0x2d
mov esi, ebx
sete dl
xor edx, ecx
push edx
xor edx, edx
test ecx, ecx
sete dl
push eax
push 0x5f
mov ecx, edi
mov eax, edx
call fcn.00432900
add esp, 0x14
jmp 0x48130b
push 0
push edi
push 1
push 0x43
push ebx
call fcn.00432730
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00452f50
mov ecx, dword [esp + 0x30]
push 0
push 0
push eax
push ecx
push ebx
call fcn.00432730
push 0
push edi
push 0
push 0x43
push ebx
mov esi, eax
call fcn.00432730
add esp, 0x44
mov eax, esi
mov edx, ebx
call fcn.0042d3d0
jmp 0x48130b
mov eax, dword [esi + 0x28]
mov dword [esp + 0xa4], esi
cmp eax, edx
jne 0x480b7e
mov edx, esi
mov eax, dword [edx + 8]
push eax
push str.misuse_of_aggregate:__s__
mov esi, ebp
call fcn.0043dbb0
add esp, 8
jmp 0x48130b
movsx ecx, word [esi + 0x22]
mov edx, dword [eax + 0x28]
pop esi
pop edi
shl ecx, 4
mov eax, dword [ecx + edx + 8]
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov al, byte [eax + 0x46]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x18], edx
mov byte [esp + 0x1c], al
mov dword [esp + 0x2c], edx
cmp byte [ebp + 0x17], dl
je 0x480bdd
mov eax, esi
call fcn.0042efa0
test eax, eax
je 0x480bdb
push 0xffffffffffffffff
push esi
push ebp
call fcn.00452e90
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
xor edx, edx
test dword [esi + 4], 0x4000
je 0x480cc0
mov dword [esp + 0x14], edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0x10]
push 0
push edx
push eax
push ecx
mov eax, esi
call fcn.00438b00
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
je 0x480ec5
cmp dword [eax + 0x10], 0
jne 0x480ec5
movzx ecx, word [eax + 2]
test ecx, 0x200
je 0x480cda
mov eax, ebx
call fcn.00432970
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 4]
push edi
push eax
push ebp
call fcn.00481440
mov eax, dword [esp + 0x30]
add esp, 0xc
cmp eax, 1
jle 0x480cb0
mov ecx, dword [esp + 0x14]
add ecx, 0x1c
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
lea esp, [esp]
mov edx, dword [esp + 0x2c]
push 0
push edx
push edi
push 0x33
push ebx
call fcn.00432730
push 1
push edi
push ebp
call fcn.00425290
mov eax, dword [esp + 0x30]
inc dword [ebp + 0x3c]
mov ecx, dword [eax]
push edi
push ecx
push ebp
call fcn.00481440
add esp, 0x2c
mov esi, ebp
call fcn.004252e0
add dword [esp + 0x10], 0x18
sub dword [esp + 0x18], 1
jne 0x480c70
mov edx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.00422650
jmp 0x48130b
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
cmp eax, edx
je 0x480bee
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
jmp 0x480bf2
test ecx, 0x400
je 0x480cff
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
push edi
push eax
push ebp
call fcn.00480660
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov ecx, dword [esp + 0x24]
xor edi, edi
lea esi, [edi + 1]
test ecx, ecx
jle 0x480d6b
mov edx, dword [esp + 0x14]
add edx, 4
mov dword [esp + 0x20], edx
cmp edi, 0x20
jge 0x480d33
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
call fcn.0042ef50
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x480d33
or dword [esp + 0x18], esi
mov edx, dword [esp + 0x28]
test byte [edx + 2], 0x20
je 0x480d5b
cmp dword [esp + 0x2c], 0
jne 0x480d5b
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push ebp
call fcn.004527b0
mov ecx, dword [esp + 0x28]
add esp, 4
mov dword [esp + 0x2c], eax
add dword [esp + 0x20], 0x18
inc edi
rol esi, 1
cmp edi, ecx
jl 0x480d17
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x14], 0
je 0x480ddf
cmp dword [esp + 0x18], 0
je 0x480d86
mov edx, dword [ebp + 0x2c]
add ecx, edx
lea esi, [edx + 1]
mov dword [ebp + 0x2c], ecx
jmp 0x480d95
mov esi, ecx
mov ecx, ebp
call fcn.00425620
mov esi, eax
mov eax, dword [esp + 0x28]
test byte [eax + 2], 0xc0
mov dword [esp + 0x1c], esi
je 0x480dbb
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov dl, byte [ecx]
cmp dl, 0x94
je 0x480db2
cmp dl, 0x96
jne 0x480dbb
mov dl, byte [eax + 2]
and dl, 0xc0
mov byte [ecx + 0x26], dl
mov edi, dword [esp + 0x14]
inc dword [ebp + 0x3c]
push 3
push 0
push esi
push ebp
mov eax, edi
call fcn.00453070
add esp, 0x10
mov esi, ebp
call fcn.004252e0
mov ecx, dword [esp + 0x24]
jmp 0x480deb
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
cmp ecx, 2
jl 0x480e08
mov eax, dword [esp + 0xa4]
test byte [eax + 4], 0x80
je 0x480e08
mov eax, dword [edi + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
jmp 0x480e15
test ecx, ecx
jle 0x480e25
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 4]
push ecx
push edx
mov ecx, dword [esp + 0x18]
call fcn.00439670
mov dword [esp + 0x30], eax
add esp, 8
mov eax, dword [esp + 0x28]
test byte [eax + 2], 0x20
je 0x480e5a
cmp dword [esp + 0x2c], 0
jne 0x480e41
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
push 0xfffffffffffffffe
push eax
push 0
push 0x4f
xor eax, eax
xor ecx, ecx
mov edi, ebx
call fcn.004327c0
add esp, 0x10
mov eax, dword [ebp + 0x38]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
neg eax
push 0xfffffffffffffff8
push ecx
sbb eax, eax
add eax, 0xa4
push edx
push eax
mov eax, dword [esp + 0xb8]
mov ecx, esi
mov edi, ebx
call fcn.004327c0
movzx dx, byte [esp + 0x34]
add esp, 0x10
mov ecx, ebx
call fcn.00422670
mov eax, dword [esp + 0x24]
test eax, eax
je 0x480eb3
cmp dword [esp + 0x18], 0
jne 0x480eb3
push eax
mov eax, esi
mov edi, ebp
call fcn.00425670
add esp, 4
mov eax, dword [esp + 0xa8]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
push esi
push str.unknown_function:__s__
mov esi, ebp
call fcn.0043dbb0
add esp, 8
jmp 0x48130b
cmp ecx, 0x78
jne 0x480f02
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx]
cmp eax, 1
je 0x480f02
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
mov esi, ebp
call fcn.0043dbb0
add esp, 0xc
jmp 0x48130b
push 0
push 0
push esi
push ebp
call fcn.0047b660
add esp, 0x10
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [esi + 0xc]
mov dword [esp + 0xa4], esi
cmp dword [eax + 0x1c], edx
jne 0x480f40
push 0
push 0
push eax
push ebp
call fcn.0047b660
mov ecx, dword [esi + 0xc]
add esp, 0x10
mov dword [ecx + 0x1c], eax
xor edx, edx
mov edi, dword [esi + 0x1c]
cmp edi, edx
je 0x480f6b
mov ecx, dword [esi + 0xc]
call fcn.00424b30
cmp edi, eax
je 0x480f6b
push eax
push edi
push str._d_columns_assigned__d_values
mov esi, ebp
call fcn.0043dbb0
mov esi, dword [esp + 0xb0]
add esp, 0xc
movsx eax, word [esi + 0x20]
mov edx, dword [esi + 0xc]
add eax, dword [edx + 0x1c]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, ebx
call fcn.00432970
mov dword [esp + 0x30], eax
mov eax, ebx
call fcn.00432970
push 0
push edi
push 0
push 0x46
push ebx
mov dword [esp + 0x24], eax
call fcn.00432730
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push esi
push ebp
call fcn.0047cd30
push 0
push edi
push 1
push 0x43
push ebx
call fcn.00432730
mov edx, dword [esp + 0x68]
mov ecx, ebx
call fcn.00422650
push 0
push 0
push edi
push 0x50
push ebx
call fcn.00432730
mov edx, dword [esp + 0x5c]
add esp, 0x4c
mov ecx, ebx
call fcn.00422650
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
push 0
push 0
push edi
push esi
push ebp
call fcn.0047bd80
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
mov eax, dword [esi + 0x2c]
movsx edx, word [eax + 0x2a]
inc edx
imul edx, dword [esi + 0x1c]
mov dword [esp + 0x10], eax
movsx eax, word [esi + 0x20]
push 0
push edi
lea ecx, [edx + eax + 1]
push ecx
push 0x92
push ebx
call fcn.00432730
movzx eax, word [esi + 0x20]
add esp, 0x14
test ax, ax
jl 0x48130b
movsx edx, ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
shl edx, 4
cmp byte [edx + ecx + 0xd], 0x45
jne 0x48130b
push 0
push 0
push edi
push 0x51
push ebx
call fcn.00432730
add esp, 0x14
jmp 0x48130b
push str.row_value_misused
mov esi, ebp
call fcn.0043dbb0
add esp, 4
jmp 0x48130b
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
push 0x17
push ebx
mov dword [esp + 0xb8], esi
call fcn.00432730
inc dword [ebp + 0x3c]
mov edx, dword [esi + 0xc]
push edi
push edx
push ebp
mov dword [esp + 0x30], eax
call fcn.00480660
mov edi, eax
mov esi, ebp
mov dword [esp + 0x54], edi
call fcn.004252e0
mov esi, dword [esp + 0x30]
mov eax, esi
mov edx, ebx
call fcn.0042d3d0
push ebx
mov edx, edi
mov eax, esi
call fcn.0042d3a0
add esp, 0x24
jmp 0x48130b
mov dword [esp + 0xa4], esi
cmp dword [ebp + 0x7c], edx
jne 0x481105
push str.RAISE___may_only_be_used_within_a_trigger_program
mov esi, ebp
call fcn.0043dbb0
add esp, 4
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
cmp byte [esi + 1], 2
jne 0x481112
mov ecx, ebp
call fcn.004260b0
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x48113e
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 8]
push ecx
xor eax, eax
push 0
push 0x42
lea ecx, [eax + 4]
mov edi, ebx
call fcn.004327c0
add esp, 0x10
jmp 0x48130b
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx + 8]
push 0
movsx edx, al
push ecx
push edx
push 0x713
mov edi, ebp
call fcn.0043af10
add esp, 0x14
jmp 0x48130b
mov eax, dword [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [eax]
mov dword [esp + 0x14], eax
mov eax, ebx
mov dword [esp + 0x10], edx
call fcn.00432970
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x4811f3
mov ecx, 0xc
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x24]
mov eax, ebp
call fcn.0047bcb0
mov dl, byte [esp + 0x40]
and dword [esp + 0x44], 0xffffefff
push 0x30
mov dword [esp + 0x60], eax
lea eax, [esp + 0x74]
push 0
push eax
mov byte [esp + 0x72], dl
mov byte [esp + 0x4c], 0x9a
call fcn.00494780
mov edi, dword [esp + 0xb8]
lea ecx, [esp + 0x4c]
lea edx, [esp + 0x7c]
add esp, 0x10
mov byte [esp + 0x6c], 0x35
mov dword [esp + 0x78], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x14]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x4812b6
mov eax, dword [esp + 0x24]
add eax, 4
mov dword [esp + 0x18], eax
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x1c], eax
jmp 0x481220
inc dword [ebp + 0x3c]
cmp dword [esp + 0x2c], 0
je 0x481236
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
jmp 0x481240
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, ebx
call fcn.00432970
mov ecx, dword [esp + 0x10]
push 0x10
push eax
push ecx
push ebp
mov dword [esp + 0x48], eax
call fcn.0047e150
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x18]
push edi
push eax
push ebp
call fcn.00481440
mov ecx, dword [esp + 0x44]
push 0
push ecx
push 0
push 0xd
push ebx
call fcn.00432730
add esp, 0x30
mov esi, ebp
call fcn.004252e0
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4812a2
mov edx, dword [esp + 0x38]
lea ecx, [edx*4 + 4]
mov edx, dword [ebx + 0x88]
sub eax, ecx
mov dword [eax], edx
add dword [esp + 0x18], 0x30
sub dword [esp + 0x1c], 1
jne 0x481220
mov eax, dword [esp + 0x14]
test al, 1
je 0x4812dc
mov ecx, dword [esp + 0x24]
inc dword [ebp + 0x3c]
lea eax, [eax + eax*2]
mov edx, dword [ecx + eax*8 - 0x14]
push edi
push edx
push ebp
call fcn.00481440
add esp, 0xc
mov esi, ebp
call fcn.004252e0
jmp 0x4812ec
push 0
push edi
push 0
push 0x46
push ebx
call fcn.00432730
add esp, 0x14
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x48130b
mov ecx, dword [esp + 0x28]
lea edx, [ecx*4 + 4]
mov ecx, dword [ebx + 0x88]
sub eax, edx
mov dword [eax], ecx
mov esi, dword [esp + 0x20]
mov eax, ebp
call fcn.004255e0
mov esi, dword [esp + 0x30]
call fcn.004255e0
mov eax, dword [esp + 0x34]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret