Function at 0x480da0
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 0x480ddc
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 0x480df0
movzx ecx, byte [esi]
lea eax, [ecx - 0x13]
mov dword [esp + 0x14], ecx
cmp eax, 0x8c
ja case.0x480e09.21
movzx eax, byte [eax + 0x481ae8]
jmp dword [eax*4 + 0x481a70]
mov esi, dword [esi + 0xc]
jmp 0x480de4
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 0x480e3f
mov eax, dword [ecx + 0x10]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [eax + 1], 0
je 0x480e66
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x62
push ebx
call fcn.00432e70
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
xor edx, edx
jmp 0x480e71
mov dword [esp + 0xa4], esi
mov eax, dword [esi + 0x1c]
cmp eax, edx
jge 0x480e93
mov ecx, dword [ebp + 0x38]
cmp ecx, edx
jge 0x480e90
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.00453500
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.004414c0
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.00432e70
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.00434830
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.004384d0
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.00432e70
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.0041d4f0
mov esi, eax
mov eax, dword [ebx]
dec esi
push esi
push eax
call fcn.0042aca0
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.00432f00
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.00432e70
mov eax, dword [esi + 8]
add esp, 0x14
cmp byte [eax + 1], 0
je 0x481004
mov ebp, dword [ebp + 0x1a0]
mov ecx, esi
movsx esi, word [ecx + 0x20]
mov ecx, ebp
call fcn.0041e3a0
push 0xffffffffffffffff
mov edx, ebx
mov dword [ebp], 0
call fcn.0042ddd0
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.00480da0
mov esi, eax
add esp, 0xc
cmp esi, edi
je 0x48104b
push 0
push edi
push esi
push 0x4c
push ebx
call fcn.00432e70
add esp, 0x14
mov esi, edi
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 8]
xor edi, edi
call fcn.0042fec0
mov ecx, dword [esp + 0xa8]
movsx eax, al
push edi
push eax
push ecx
push 0x52
push ebx
call fcn.00432e70
push 1
push esi
push ebp
call fcn.004259e0
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.0042f060
test eax, eax
je 0x4810ca
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push eax
push ecx
push edi
push ebp
mov eax, esi
call fcn.0047d020
add esp, 0x10
jmp 0x481a4b
lea edx, [esp + 0x20]
push edx
push ebp
mov eax, ebx
call fcn.00453690
mov dword [esp + 0x24], eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x10]
push ebp
call fcn.00453690
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.004530b0
add esp, 0x28
jmp 0x481a4b
lea eax, [esp + 0x20]
push eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00453690
lea ecx, [esp + 0x38]
push ecx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
push ebp
call fcn.00453690
mov edx, dword [esp + 0x2c]
push edi
push edx
push eax
mov eax, dword [esp + 0x30]
push eax
push ebx
call fcn.00432e70
add esp, 0x24
jmp 0x481a4b
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x88
jne 0x48116d
push edi
push 1
push ebp
call fcn.004414c0
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp cl, 0x86
jne 0x48118f
mov edx, dword [eax + 8]
push edi
push 1
mov esi, ebx
call fcn.00434830
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.00453690
lea edx, [esp + 0x38]
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00453690
mov ecx, dword [esp + 0x2c]
push edi
push ecx
push eax
push 0x5a
push ebx
call fcn.00432e70
add esp, 0x24
jmp 0x481a4b
mov eax, dword [esi + 0xc]
lea edx, [esp + 0x20]
push edx
push ebp
call fcn.00453690
mov ecx, eax
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov eax, edi
call fcn.00432ee0
add esp, 0x10
jmp 0x481a4b
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x20]
push ecx
push ebp
mov dword [esp + 0xac], esi
call fcn.00453690
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.00433040
add esp, 0x14
jmp 0x481a4b
push 0
push edi
push 1
push 0x43
push ebx
call fcn.00432e70
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0xc]
push ebp
call fcn.00453690
mov ecx, dword [esp + 0x30]
push 0
push 0
push eax
push ecx
push ebx
call fcn.00432e70
push 0
push edi
push 0
push 0x43
push ebx
mov esi, eax
call fcn.00432e70
add esp, 0x44
mov eax, esi
mov edx, ebx
call fcn.0042db20
jmp 0x481a4b
mov eax, dword [esi + 0x28]
mov dword [esp + 0xa4], esi
cmp eax, edx
jne 0x4812be
mov edx, esi
mov eax, dword [edx + 8]
push eax
push str.misuse_of_aggregate:__s__
mov esi, ebp
call fcn.0043e2f0
add esp, 8
jmp 0x481a4b
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 0x48131d
mov eax, esi
call fcn.0042f6f0
test eax, eax
je 0x48131b
push 0xffffffffffffffff
push esi
push ebp
call fcn.004535d0
add esp, 0xc
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret
xor edx, edx
test dword [esi + 4], 0x4000
je 0x481400
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.00439240
add esp, 0x10
mov dword [esp + 0x28], eax
test eax, eax
je 0x481605
cmp dword [eax + 0x10], 0
jne 0x481605
movzx ecx, word [eax + 2]
test ecx, 0x200
je 0x48141a
mov eax, ebx
call fcn.004330b0
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 4]
push edi
push eax
push ebp
call fcn.00481b80
mov eax, dword [esp + 0x30]
add esp, 0xc
cmp eax, 1
jle 0x4813f0
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.00432e70
push 1
push edi
push ebp
call fcn.004259e0
mov eax, dword [esp + 0x30]
inc dword [ebp + 0x3c]
mov ecx, dword [eax]
push edi
push ecx
push ebp
call fcn.00481b80
add esp, 0x2c
mov esi, ebp
call fcn.00425a30
add dword [esp + 0x10], 0x18
sub dword [esp + 0x18], 1
jne 0x4813b0
mov edx, dword [esp + 0x2c]
mov ecx, ebx
call fcn.00422da0
jmp 0x481a4b
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
cmp eax, edx
je 0x48132e
mov ecx, dword [eax]
mov dword [esp + 0x24], ecx
jmp 0x481332
test ecx, 0x400
je 0x48143f
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 4]
push edi
push eax
push ebp
call fcn.00480da0
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 0x4814ab
mov edx, dword [esp + 0x14]
add edx, 4
mov dword [esp + 0x20], edx
cmp edi, 0x20
jge 0x481473
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
call fcn.0042f6a0
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x481473
or dword [esp + 0x18], esi
mov edx, dword [esp + 0x28]
test byte [edx + 2], 0x20
je 0x48149b
cmp dword [esp + 0x2c], 0
jne 0x48149b
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
push ebp
call fcn.00452ef0
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 0x481457
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x14], 0
je 0x48151f
cmp dword [esp + 0x18], 0
je 0x4814c6
mov edx, dword [ebp + 0x2c]
add ecx, edx
lea esi, [edx + 1]
mov dword [ebp + 0x2c], ecx
jmp 0x4814d5
mov esi, ecx
mov ecx, ebp
call fcn.00425d70
mov esi, eax
mov eax, dword [esp + 0x28]
test byte [eax + 2], 0xc0
mov dword [esp + 0x1c], esi
je 0x4814fb
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 4]
mov dl, byte [ecx]
cmp dl, 0x94
je 0x4814f2
cmp dl, 0x96
jne 0x4814fb
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.004537b0
add esp, 0x10
mov esi, ebp
call fcn.00425a30
mov ecx, dword [esp + 0x24]
jmp 0x48152b
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
cmp ecx, 2
jl 0x481548
mov eax, dword [esp + 0xa4]
test byte [eax + 4], 0x80
je 0x481548
mov eax, dword [edi + 0x1c]
push ecx
mov ecx, dword [esp + 0x2c]
push ecx
jmp 0x481555
test ecx, ecx
jle 0x481565
mov edx, dword [esp + 0x28]
mov eax, dword [edi + 4]
push ecx
push edx
mov ecx, dword [esp + 0x18]
call fcn.00439db0
mov dword [esp + 0x30], eax
add esp, 8
mov eax, dword [esp + 0x28]
test byte [eax + 2], 0x20
je 0x48159a
cmp dword [esp + 0x2c], 0
jne 0x481581
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.00432f00
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.00432f00
movzx dx, byte [esp + 0x34]
add esp, 0x10
mov ecx, ebx
call fcn.00422dc0
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4815f3
cmp dword [esp + 0x18], 0
jne 0x4815f3
push eax
mov eax, esi
mov edi, ebp
call fcn.00425dc0
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.0043e2f0
add esp, 8
jmp 0x481a4b
cmp ecx, 0x78
jne 0x481642
mov ecx, dword [esi + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx]
cmp eax, 1
je 0x481642
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
mov esi, ebp
call fcn.0043e2f0
add esp, 0xc
jmp 0x481a4b
push 0
push 0
push esi
push ebp
call fcn.0047bda0
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 0x481680
push 0
push 0
push eax
push ebp
call fcn.0047bda0
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 0x4816ab
mov ecx, dword [esi + 0xc]
call fcn.00425280
cmp edi, eax
je 0x4816ab
push eax
push edi
push str._d_columns_assigned__d_values
mov esi, ebp
call fcn.0043e2f0
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.004330b0
mov dword [esp + 0x30], eax
mov eax, ebx
call fcn.004330b0
push 0
push edi
push 0
push 0x46
push ebx
mov dword [esp + 0x24], eax
call fcn.00432e70
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push esi
push ebp
call fcn.0047d470
push 0
push edi
push 1
push 0x43
push ebx
call fcn.00432e70
mov edx, dword [esp + 0x68]
mov ecx, ebx
call fcn.00422da0
push 0
push 0
push edi
push 0x50
push ebx
call fcn.00432e70
mov edx, dword [esp + 0x5c]
add esp, 0x4c
mov ecx, ebx
call fcn.00422da0
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.0047c4c0
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.00432e70
movzx eax, word [esi + 0x20]
add esp, 0x14
test ax, ax
jl 0x481a4b
movsx edx, ax
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
shl edx, 4
cmp byte [edx + ecx + 0xd], 0x45
jne 0x481a4b
push 0
push 0
push edi
push 0x51
push ebx
call fcn.00432e70
add esp, 0x14
jmp 0x481a4b
push str.row_value_misused
mov esi, ebp
call fcn.0043e2f0
add esp, 4
jmp 0x481a4b
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
push 0x17
push ebx
mov dword [esp + 0xb8], esi
call fcn.00432e70
inc dword [ebp + 0x3c]
mov edx, dword [esi + 0xc]
push edi
push edx
push ebp
mov dword [esp + 0x30], eax
call fcn.00480da0
mov edi, eax
mov esi, ebp
mov dword [esp + 0x54], edi
call fcn.00425a30
mov esi, dword [esp + 0x30]
mov eax, esi
mov edx, ebx
call fcn.0042db20
push ebx
mov edx, edi
mov eax, esi
call fcn.0042daf0
add esp, 0x24
jmp 0x481a4b
mov dword [esp + 0xa4], esi
cmp dword [ebp + 0x7c], edx
jne 0x481845
push str.RAISE___may_only_be_used_within_a_trigger_program
mov esi, ebp
call fcn.0043e2f0
add esp, 4
pop esi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
cmp byte [esi + 1], 2
jne 0x481852
mov ecx, ebp
call fcn.00426800
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x48187e
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.00432f00
add esp, 0x10
jmp 0x481a4b
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.0043b650
add esp, 0x14
jmp 0x481a4b
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.004330b0
mov esi, dword [esi + 0xc]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], esi
test esi, esi
je 0x481933
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.0047c3f0
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.00494ec0
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 0x4819f6
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 0x481960
inc dword [ebp + 0x3c]
cmp dword [esp + 0x2c], 0
je 0x481976
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x7c], ecx
jmp 0x481980
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov eax, ebx
call fcn.004330b0
mov ecx, dword [esp + 0x10]
push 0x10
push eax
push ecx
push ebp
mov dword [esp + 0x48], eax
call fcn.0047e890
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x18]
push edi
push eax
push ebp
call fcn.00481b80
mov ecx, dword [esp + 0x44]
push 0
push ecx
push 0
push 0xd
push ebx
call fcn.00432e70
add esp, 0x30
mov esi, ebp
call fcn.00425a30
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4819e2
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 0x481960
mov eax, dword [esp + 0x14]
test al, 1
je 0x481a1c
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.00481b80
add esp, 0xc
mov esi, ebp
call fcn.00425a30
jmp 0x481a2c
push 0
push edi
push 0
push 0x46
push ebx
call fcn.00432e70
add esp, 0x14
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x481a4b
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.00425d30
mov esi, dword [esp + 0x30]
call fcn.00425d30
mov eax, dword [esp + 0x34]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x8c
ret