Function at 0x4b9ed0
Capabilities:
Reference sql statements

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x214]
cmp eax, dword [ecx + 8]
jbe 0x4bb688
sub esp, 0x294
mov eax, dword [esp + 0x2a0]
test eax, 0x200
jne 0x4b9f2b
test eax, 0x80
je 0x4b9f13
mov eax, dword [esp + 0x29c]
mov eax, dword [eax]
jmp 0x4b9f1a
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4b9f8d
mov ecx, dword [esp + 0x2a4]
mov dword [esp], ecx
mov edx, dword [esp + 0x2a8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x298]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0x29c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
sar eax, 0xa
mov dword [esp + 0x14], eax
call fcn.004bc3f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x29c]
mov ebp, dword [esp + 0x298]
mov esi, dword [esp + 0x2a0]
mov edi, eax
mov eax, edx
mov edx, edi
test eax, eax
je 0x4bb66f
mov dword [esp + 0x180], eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x154], ebx
mov dword [esp + 0x150], ebp
mov dword [esp + 0x170], edx
mov dword [esp + 0x164], ecx
mov edi, dword [esp + 0x2a8]
cmp edi, 9
je 0x4b9fd7
mov dword [esp + 0xdc], eax
xor eax, eax
mov byte [esp + 0x6f], al
jmp 0x4ba008
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
lea ecx, [0x61bc3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 9
call fcn.00402f60
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x164]
mov byte [esp + 0x6f], al
test byte [ecx], al
mov dword [esp], ecx
call fcn.004af870
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x164]
mov dword [esp], ecx
call fcn.004aefa0
movzx eax, byte [esp + 4]
movzx ecx, byte [esp + 0x6f]
test cl, cl
je 0x4ba05f
test al, al
je 0x4bb657
mov edx, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x8c]
cmp edx, ebx
jl 0x4bb63f
jle 0x4ba098
jmp 0x4bb627
test al, al
je 0x4ba06d
mov edx, dword [esp + 0x8c]
dec edx
jmp 0x4ba074
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x2b0]
cmp ebx, edx
jl 0x4bb60f
test al, al
jne 0x4ba08f
cmp ebx, edx
jg 0x4bb5f7
mov ebx, edx
mov edx, dword [esp + 0x2b0]
mov ebp, dword [esp + 0x2ac]
mov esi, ebp
xor edi, edi
jmp 0x4ba0b0
mov ebp, dword [esp + 0xc8]
add ebp, 0xc
inc edi
cmp edx, edi
jle 0x4ba0cb
mov dword [esp + 0xc8], ebp
mov ebp, dword [ebp + 8]
test ebp, 0x1f
jne 0x4ba0a5
jmp 0x4bb587
mov byte [esp + 0x6e], al
mov dword [esp + 0x8c], ebx
mov ebp, dword [esp + 0x164]
xor edi, edi
jmp 0x4ba111
mov eax, dword [esp + 0xa4]
lea edi, [eax + 1]
mov ebp, dword [esp + 0x164]
mov esi, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2b0]
mov ebx, dword [esp + 0x8c]
movzx eax, byte [esp + 0x6e]
movzx ecx, byte [esp + 0x6f]
cmp ebx, edi
jle 0x4ba1ce
cmp edx, edi
jbe 0x4bb57e
mov dword [esp + 0xa4], edi
lea eax, [edi + edi*2]
mov ecx, dword [esi + eax*4 + 8]
mov edx, dword [esi + eax*4]
mov eax, dword [esi + eax*4 + 4]
test ecx, ecx
je 0x4ba14a
test ecx, 0x200
jne 0x4ba14a
lea eax, [0x66f350]
jmp 0x4ba170
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004c25c0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebp, dword [esp + 0x164]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x78], eax
mov dword [esp + 0x14c], edx
mov dword [esp], ebp
mov dword [esp + 4], edi
call fcn.004af570
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], ecx
mov edx, dword [esp + 0x78]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 8]
mov dword [esp + 0x84], ebp
mov esi, dword [esp + 0x14c]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call ebx
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4ba0e1
jmp 0x4bb434
test cl, cl
jne 0x4ba2c1
test al, al
je 0x4ba2c1
mov dword [esp], ebp
mov dword [esp + 4], ebx
call fcn.004af570
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x8c]
sub eax, ecx
mov dword [esp + 0x90], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.004c2f70
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1a4], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xc4], edx
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebp, dword [esp + 0x8c]
mov dword [esp + 4], ebp
call fcn.004af570
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x184], ecx
mov edx, dword [esp + 4]
mov dword [esp + 0xac], edx
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x2ac]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xd4]
jmp 0x4bb130
mov dword [esp + 0xc0], edx
mov dword [esp + 0x19c], esi
mov dword [esp], ebp
call fcn.004af870
mov eax, dword [esp + 0xc0]
cmp dword [esp + 4], eax
jne 0x4bb054
mov eax, dword [esp + 0x164]
mov dword [esp], eax
call fcn.004af910
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
lea edi, [esp + 0x238]
xor eax, eax
call fcn.004645b9
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov ecx, dword [esp + 0x170]
mov dword [esp + 4], ecx
call fcn.004b8630
mov eax, dword [esp + 8]
mov dword [esp + 0x178], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x17c], ecx
lea edi, [esp + 0x238]
lea esi, [esp + 0x10]
call fcn.004649fa
lea edi, [esp + 0x1dc]
lea esi, [esp + 0x238]
call fcn.004649fa
mov ecx, dword [eax]
test ecx, ecx
je 0x4ba3b5
mov ecx, dword [esp + 0x88]
test ecx, ecx
jne 0x4ba39a
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
call fcn.0046e3c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
lea edx, [0x5f1ba0]
cmp eax, edx
je 0x4ba3ac
jmp 0x4bb03e
mov dword [esp], eax
call fcn.0045f670
mov ecx, dword [esp + 4]
lea edx, [0x5f1ba0]
mov eax, dword [esp + 0x178]
jmp 0x4ba3b7
xor ecx, ecx
mov dword [esp + 0x168], ecx
mov edx, dword [eax]
mov ebx, dword [esp + 0x170]
test ebx, ebx
je 0x4ba4c0
mov ebx, dword [esp + 0x1e0]
mov esi, dword [esp + 0x1dc]
test ebx, ebx
jbe 0x4bb035
lea edi, [esp + 0x12c]
call fcn.00464aa4
mov ecx, dword [esp + 0x12c]
cmp ecx, 2
jg 0x4bb00f
cmp ecx, 1
jne 0x4bafe4
mov ecx, dword [esp + 0x150]
movzx ecx, byte [ecx + 0xf]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 0x14
jne 0x4ba44d
mov edi, dword [esp + 0x168]
test byte [edi], al
mov ecx, dword [0x7f8db0]
mov ebx, dword [esp + 0x154]
mov ebx, dword [ebx + 4]
test ecx, ecx
jne 0x4ba440
mov dword [edi], ebx
jmp 0x4ba4b9
mov ecx, eax
mov eax, ebx
call fcn.00464380
mov eax, ecx
jmp 0x4ba4b9
mov ecx, dword [esp + 0x7c]
test ecx, 0x80
je 0x4ba48b
test bl, 0x20
je 0x4ba48b
mov edi, dword [esp + 0x168]
test byte [edi], al
mov ecx, dword [0x7f8db0]
mov ebx, dword [esp + 0x154]
mov ebx, dword [ebx]
test ecx, ecx
jne 0x4ba47e
mov dword [edi], ebx
jmp 0x4ba4b9
mov ecx, eax
mov eax, ebx
call fcn.00464380
mov eax, ecx
jmp 0x4ba4b9
mov edi, dword [esp + 0x168]
test byte [edi], al
mov ecx, dword [0x7f8db0]
test ecx, ecx
jne 0x4ba4a9
mov ecx, dword [esp + 0x154]
mov dword [edi], ecx
jmp 0x4ba4b9
mov ecx, eax
mov eax, dword [esp + 0x154]
call fcn.00464380
mov eax, ecx
mov ecx, 1
jmp 0x4ba4c4
mov edi, ecx
xor ecx, ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x94], ecx
mov ebx, dword [esp + 0x19c]
xor ebp, ebp
jmp 0x4ba503
mov esi, dword [esp + 0x1a4]
add esi, 0xc
lea ebp, [eax + 1]
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xa8]
mov edi, ebx
mov ebx, esi
mov esi, dword [esp + 0xc0]
cmp ebp, esi
jge 0x4ba6f0
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x1a4], ebx
mov eax, dword [ebx + 8]
mov dword [esp + 0xc4], eax
mov edx, dword [ebx]
mov dword [esp + 0x1a8], edx
mov esi, dword [ebx + 4]
mov dword [esp + 0x198], esi
nop
test eax, eax
je 0x4ba549
test eax, 0x60
je 0x4ba558
mov dword [esp], eax
call fcn.004b9570
mov ebp, dword [esp + 0x9c]
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.004af570
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0x66f354]
lea ebx, [0x66f350]
cmp eax, ebx
jne 0x4bafce
mov dword [esp + 0x160], ecx
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
lea eax, [0x61f524]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x12
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], 0
call fcn.004c32b0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x94]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x1ec]
mov edi, dword [esp + 0x1e8]
cmp esi, edx
jbe 0x4bafc5
mov dword [esp + 0xc4], ebx
mov dword [esp + 0x174], ebp
mov ebp, dword [edi + edx*4]
lea ebx, [esi - 1]
cmp ebx, edx
jne 0x4ba621
mov ebx, dword [esp + 0x1e0]
jmp 0x4ba630
lea ebx, [ecx + eax + 1]
cmp esi, ebx
jbe 0x4bafbc
mov ebx, dword [edi + ebx*4]
mov edx, dword [esp + 0x1e4]
mov esi, ebp
mov ebp, dword [esp + 0x1dc]
cmp ebx, edx
ja 0x4bafb5
cmp ebx, esi
jb 0x4bafac
sub edx, esi
mov edi, ecx
lea ecx, [esi + esi*2]
neg edx
shl ecx, 3
sar edx, 0x1f
and edx, ecx
lea ecx, [edx + ebp]
sub ebx, esi
mov dword [esp + 0x70], ebx
mov edx, dword [esp + 0x174]
mov ebp, dword [esp + 0xc4]
xor esi, esi
jmp 0x4baeac
mov ecx, dword [esp + 0x120]
mov ebx, dword [esp + 0x168]
lea edi, [ebx + ecx]
test ebp, 0x80
jne 0x4ba6ba
mov ebp, dword [0x7f8db0]
test ebp, ebp
jne 0x4ba6aa
mov dword [ebx + ecx], edx
jmp 0x4ba4dd
mov ecx, eax
mov eax, edx
call fcn.00464380
mov eax, ecx
jmp 0x4ba4dd
mov eax, dword [esp + 0x160]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
call fcn.0045fa90
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0x168]
jmp 0x4ba4dd
mov ebx, dword [esp + 0x168]
jmp 0x4ba4dd
nop
lea ecx, [edx + 3]
and ecx, 0xfffffffc
add ecx, dword [esp + 0x22c]
movzx edx, byte [0x7f8aa5]
test dl, dl
je 0x4ba72a
mov dword [esp + 0xa8], ecx
call fcn.00416710
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0xa8]
mov edi, dword [esp + 0x168]
mov edx, dword [eax]
mov ebx, dword [esp + 0x228]
mov dword [esp], eax
mov ebp, dword [esp + 0x180]
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x18], ecx
call fcn.00462f80
movzx eax, byte [0x7f8aa5]
test al, al
je 0x4ba76e
call fcn.00416710
mov eax, dword [esp + 0x88]
test eax, eax
je 0x4ba7d6
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4ba7b1
mov eax, dword [esp + 0x228]
mov edx, dword [esp + 0x178]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
call fcn.0045fb50
mov eax, dword [esp + 0x88]
lea ecx, [0x61a0c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1a4], eax
xor ecx, ecx
jmp 0x4ba83b
mov eax, dword [esp + 0x168]
test eax, eax
je 0x4ba818
mov ecx, dword [esp + 0x178]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0045fb10
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
lea eax, [0x5f1ba0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x168]
mov dword [esp + 8], eax
call fcn.0046e330
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x2b8], ecx
mov dword [esp + 0x2bc], eax
mov dword [esp + 0x2c0], eax
add esp, 0x294
ret
inc ecx
mov eax, esi
mov edx, dword [esp + 0x88]
cmp ecx, edx
jge 0x4bab1e
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004af9f0
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x1a0], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x158], edx
mov ebx, dword [eax + 0x7c]
mov dword [esp], edx
call ebx
mov eax, dword [esp + 4]
test eax, eax
je 0x4baa85
nop
mov ecx, dword [esp + 0x210]
mov ebx, dword [esp + 0x20c]
mov eax, dword [esp + 0x98]
cmp eax, ecx
jae 0x4bae3f
mov ebp, dword [ebx + eax*4]
mov edx, ebp
lea ebp, [ecx - 1]
cmp eax, ebp
jne 0x4ba8cc
mov ebx, dword [esp + 0x204]
jmp 0x4ba8db
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x4bae38
mov ebx, dword [ebx + eax*4 + 4]
mov ebp, dword [esp + 0x200]
mov ecx, ebp
mov ebp, dword [esp + 0x208]
cmp ebx, ebp
ja 0x4bae2f
cmp ebx, edx
jb 0x4bae26
sub ebx, edx
mov esi, ebx
lea ebx, [edx + edx*2]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ebx, 3
sar ebp, 0x1f
and ebp, ebx
lea edx, [ecx + ebp]
test esi, esi
jbe 0x4bae1d
mov dword [esp + 0x194], ecx
lea edi, [esp + 0xfc]
mov ebx, esi
mov esi, edx
call fcn.00464aa4
cmp dword [esp + 0xfc], 1
jne 0x4baa01
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x80]
mov ecx, dword [ecx + 0x84]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xbc]
or eax, 0x80
mov ecx, dword [esp + 0x98]
lea edx, [ecx + ecx*2]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0x108]
mov esi, dword [esp + 0x1a4]
mov dword [esi + edx*4 + 8], eax
mov eax, dword [0x7f8db0]
lea edi, [esi + edx*4 + 4]
mov dword [esp + 0x190], edi
lea edi, [esi + edx*4]
mov dword [esp + 0x18c], edi
mov edi, dword [esp + 0x168]
add ebp, edi
test eax, eax
jne 0x4ba9dc
mov dword [esi + edx*4], ebx
mov dword [esi + edx*4 + 4], ebp
jmp 0x4ba838
mov eax, ebx
mov edx, edi
mov edi, dword [esp + 0x18c]
call fcn.00464380
mov edi, dword [esp + 0x190]
mov eax, ebp
call fcn.00464380
mov edi, edx
jmp 0x4ba838
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x144], edx
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x84]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
movzx eax, byte [eax + 0xf]
test al, 0x20
jne 0x4bacff
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x84]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp], eax
call fcn.0045f670
mov eax, dword [esp + 4]
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0xc0]
xor ebx, ebx
jmp 0x4bab8d
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 4], eax
call fcn.004c3100
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x88]
cmp ebx, ebp
jae 0x4bab2c
lea esi, [ebx + ebx*2]
mov edi, ebp
mov ebp, dword [esp + 0x1a4]
mov dword [ebp + esi*4 + 8], edx
mov edx, dword [0x7f8db0]
lea ebx, [ebp + esi*4]
mov dword [esp + 0x18c], ebx
lea ebx, [ebp + esi*4 + 4]
test edx, edx
jne 0x4baaf0
mov dword [ebp + esi*4], eax
mov dword [ebp + esi*4 + 4], ecx
jmp 0x4bab09
mov edx, edi
mov edi, dword [esp + 0x18c]
call fcn.00464380
mov edi, ebx
mov eax, ecx
call fcn.00464380
mov edi, edx
mov ecx, dword [esp + 0x98]
mov esi, ebp
mov edi, dword [esp + 0x168]
jmp 0x4ba838
mov eax, edx
mov ecx, dword [esp + 0x1a4]
jmp 0x4ba81c
mov eax, ebx
mov ecx, ebp
call fcn.00464400
mov dword [esp + 0xb8], ebx
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xec]
lea ebp, [esp + 0x6c]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
add ecx, eax
mov dword [esp + 0xc], ecx
call fcn.004ab930
mov eax, dword [esp + 0x198]
lea ecx, [eax + 0x18]
mov eax, dword [esp + 0xb8]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0xc0]
cmp ebx, edx
jge 0x4babcd
mov dword [esp + 0x198], ecx
lea edi, [esp + 0xe4]
mov esi, ecx
call fcn.00464aa4
mov ecx, dword [esp + 0xe4]
cmp ecx, 2
jg 0x4bacac
cmp ecx, 1
je 0x4bac94
cmp ecx, 2
je 0x4bab35
jmp 0x4bac7c
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x84]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x80]
mov ecx, dword [ecx + 0x50]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x98]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 4]
or edx, 0x80
mov ebx, dword [esp + 0x1a4]
mov dword [ebx + ecx*4 + 8], edx
mov edx, dword [0x7f8db0]
lea edi, [ebx + ecx*4]
lea ebp, [ebx + ecx*4 + 4]
test edx, edx
jne 0x4bac4e
mov edx, dword [esp + 0x1a8]
mov dword [ebx + ecx*4], edx
mov edx, dword [esp + 0x16c]
mov dword [ebx + ecx*4 + 4], edx
jmp 0x4bac6c
mov ecx, eax
mov eax, dword [esp + 0x1a8]
call fcn.00464380
mov edi, ebp
mov eax, dword [esp + 0x16c]
call fcn.00464380
mov eax, ecx
mov ecx, eax
mov esi, ebx
mov edi, dword [esp + 0x168]
jmp 0x4ba838
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2b4]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2c4]
mov dword [esp + 4], eax
call fcn.00436760
cmp ecx, 3
je 0x4bacf6
cmp ecx, 4
jne 0x4bac7c
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xec]
cmp edx, 4
je 0x4baced
cmp edx, 8
jne 0x4bacd5
xor ecx, ecx
call fcn.00464400
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e0cc]
mov dword [esp + 4], eax
call fcn.00436760
xor eax, eax
mov ecx, eax
call fcn.00464400
xor eax, eax
mov ecx, eax
call fcn.00464400
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x194]
lea edx, [ecx + eax]
cmp dword [edx], 3
je 0x4bade5
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x1a0], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xc0], edx
call fcn.004388b0
lea eax, [0x61ae7f]
mov dword [esp], eax
mov dword [esp + 4], 5
call fcn.004391b0
mov eax, dword [esp + 0xb4]
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00438fb0
lea eax, [0x61b34a]
mov dword [esp], eax
mov dword [esp + 4], 7
call fcn.004391b0
mov eax, dword [esp + 0x1a0]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
call fcn.004391b0
call fcn.00438ad0
call fcn.00438920
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2bc]
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 0x84]
mov edx, dword [esp + 0x158]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x80]
mov eax, dword [eax + 0x50]
mov ecx, dword [esp + 0x158]
mov dword [esp], ecx
call eax
xor eax, eax
mov ecx, eax
call fcn.00464400
xor eax, eax
mov ecx, eax
call fcn.00464400
mov eax, edx
mov ecx, ebx
call fcn.00464460
mov ecx, ebx
mov edx, ebp
call fcn.00464440
mov eax, ebp
call fcn.00464400
call fcn.00464400
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x11c]
lea edx, [esp + 0x6c]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call fcn.004ab990
mov eax, dword [esp + 0x198]
lea ecx, [eax + 0x18]
mov eax, dword [esp + 0xb8]
lea esi, [eax + 1]
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x174]
mov ebp, dword [esp + 0xc4]
mov edi, dword [esp + 0x94]
cmp esi, ebx
jge 0x4ba6e4
mov dword [esp + 0xb8], esi
mov dword [esp + 0x198], ecx
lea edi, [esp + 0x114]
mov esi, ecx
call fcn.00464aa4
mov ecx, dword [esp + 0x114]
cmp ecx, 1
je 0x4ba67f
lea esi, [ecx - 2]
cmp esi, 1
ja 0x4baf31
test ebp, 0x80
je 0x4baf10
mov esi, dword [esp + 0x118]
add esi, edx
cmp ecx, 3
jne 0x4bae44
mov eax, dword [esp + 0x124]
xor ecx, ecx
call fcn.00464400
cmp ecx, 3
jne 0x4baf23
mov eax, dword [esp + 0x124]
xor ecx, ecx
call fcn.00464400
mov eax, dword [esp + 0x124]
xor ecx, ecx
call fcn.00464400
cmp ecx, 4
jne 0x4baf94
test ebp, 0x80
je 0x4baf7c
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x11c]
cmp edx, 4
je 0x4baf75
cmp edx, 8
jne 0x4baf5d
xor ecx, ecx
call fcn.00464400
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e0cc]
mov dword [esp + 4], eax
call fcn.00436760
xor ecx, ecx
call fcn.00464400
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2ac]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2b4]
mov dword [esp + 4], eax
call fcn.00436760
mov eax, esi
mov ecx, ebx
call fcn.00464460
mov ecx, ebx
call fcn.00464440
mov eax, ebx
mov ecx, esi
call fcn.00464400
mov eax, edx
mov ecx, esi
call fcn.00464400
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x6119a0]
mov dword [esp + 8], eax
call fcn.00409880
cmp ecx, 2
je 0x4bb001
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e2a4]
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0x13c]
xor ecx, ecx
call fcn.00464400
cmp ecx, 3
je 0x4bb027
cmp ecx, 4
jne 0x4bafe9
mov eax, dword [esp + 0x140]
xor ecx, ecx
call fcn.00464400
mov eax, dword [esp + 0x13c]
xor ecx, ecx
call fcn.00464400
xor eax, eax
mov ecx, eax
call fcn.00464400
mov dword [esp], eax
mov dword [esp + 4], edx
lea eax, [0x5f12a0]
mov dword [esp + 8], eax
call fcn.004097e0
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e29c]
mov dword [esp + 4], eax
call fcn.00436760
mov eax, dword [esp + 0x1a8]
mov dword [esp], eax
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0xc], ebx
call fcn.004be220
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x188]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x14], eax
call fcn.004c0f10
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x2ac]
mov ebx, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x184]
mov esi, dword [esp + 0x2b0]
mov edi, dword [esp + 0x8c]
mov ecx, ebp
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x2ac]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1a0]
mov edx, dword [esp + 0xa0]
cmp edx, ebx
jge 0x4bb1ea
add edi, edx
cmp esi, edi
jbe 0x4bb42b
lea edi, [edi + edi*2]
mov esi, dword [ebp + edi*4 + 8]
mov dword [esp + 0xb0], esi
mov ebx, dword [ebp + edi*4]
mov dword [esp + 0x188], ebx
mov edi, dword [ebp + edi*4 + 4]
mov dword [esp + 0x198], edi
test esi, esi
je 0x4bb193
test esi, 0x200
jne 0x4bb193
mov dword [esp + 0xcc], eax
lea eax, [0x66f350]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xcc]
jmp 0x4bb1bd
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
call fcn.004c25c0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x148], ebx
mov edx, dword [esp + 0x74]
mov ebp, dword [edx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call ebp
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4bb06c
jmp 0x4bb2e1
lea eax, [0x61a0c0]
mov dword [esp], eax
lea ecx, [edi + 1]
mov dword [esp + 0xc0], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0044b240
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xc0]
cmp ecx, edx
ja 0x4bb2dc
mov dword [esp + 0x198], eax
lea edx, [0x61a0c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x2b0]
mov dword [esp + 0x10], ebx
call fcn.004117e0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0xc0]
cmp eax, ecx
jae 0x4bb2d7
lea edx, [eax + eax*2]
mov ebx, dword [esp + 0xc4]
mov ebp, dword [esp + 0x198]
mov dword [ebp + edx*4 + 8], ebx
mov ebx, dword [0x7f8db0]
lea edi, [ebp + edx*4]
lea esi, [ebp + edx*4 + 4]
test ebx, ebx
jne 0x4bb2a8
mov eax, dword [esp + 0x1a8]
mov dword [ebp + edx*4], eax
mov eax, dword [esp + 0x1a4]
mov dword [ebp + edx*4 + 4], eax
jmp 0x4bb2c2
mov eax, dword [esp + 0x1a8]
call fcn.00464380
mov edi, esi
mov eax, dword [esp + 0x1a4]
call fcn.00464380
mov ebp, dword [esp + 0x164]
mov edx, ecx
mov esi, dword [esp + 0x198]
jmp 0x4ba2c1
call fcn.00464400
call fcn.00464440
mov eax, dword [esp + 0x74]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0x148]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xac]
mov edx, dword [edx + 0x80]
mov ebx, dword [esp + 0x184]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0x1ac]
mov edx, eax
xor eax, eax
call fcn.004645c4
lea eax, [0x6205cc]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 0x14
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1b8], eax
lea eax, [0x61bad4]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], 9
mov dword [esp + 0x1c4], edx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1c8], eax
lea eax, [0x61aa4e]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], 4
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x1d8], eax
mov dword [esp], 0
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 6
call fcn.0044ea90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov eax, edi
mov ecx, esi
call fcn.00464400
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0x14c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0x84]
mov edx, dword [edx + 0x80]
mov ebx, dword [esp + 0x15c]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0x1ac]
mov edx, eax
xor eax, eax
call fcn.004645c4
lea eax, [0x61bf30]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 9
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0x1b4], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x1b8], eax
lea eax, [0x61b2d3]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], 7
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x1c8], eax
lea eax, [0x61bad4]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], 9
mov dword [esp + 0x1d4], edx
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1d8], eax
mov dword [esp], 0
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 6
call fcn.0044ea90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
mov eax, edi
mov ecx, edx
call fcn.00464400
mov dword [esp], 0
lea eax, [0x61bf30]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 0x10], eax
lea eax, [0x622f1c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x1a
call fcn.0044ed30
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409b20
mov eax, dword [esp + 8]
lea ecx, [0x5f1960]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e294]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e28c]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e284]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e27c]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e274]
mov dword [esp + 4], eax
call fcn.00436760
lea eax, [0x5f1960]
mov dword [esp], eax
lea eax, [0x66e26c]
mov dword [esp + 4], eax
call fcn.00436760
nop
call fcn.00462f70
jmp fcn.004b9ed0