Function at 0x4a4728
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x2b
push 0
push 0
dec ecx
jne 0x4a4731
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov eax, dword [ebp - 4]
call fcn.004046b4
mov eax, dword [ebp - 8]
call fcn.004046b4
xor eax, eax
push ebp
push 0x4a56ef
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 9], 1
lea eax, [ebp - 0x14]
call fcn.00404204
mov word [ebp - 0x28], 0
mov byte [ebp - 0x3a], 0
cmp byte [ebp + 8], 0
je 0x4a478c
xor ecx, ecx
mov edx, dword [ebp - 4]
mov eax, ebx
call fcn.004a9f70
mov eax, ebx
call fcn.004b0730
mov dword [ebp - 0x2c], eax
mov eax, ebx
call fcn.004b0730
mov dword [ebp - 0x30], eax
mov eax, ebx
call fcn.004b0730
mov dword [ebp - 0x34], eax
mov eax, ebx
call fcn.004b0730
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x4a5686
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x58]
mov edx, 0x4a570c
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.00489c18
mov edx, 0x4a5828
call fcn.00488b04
mov edx, dword [ebp - 4]
call fcn.0048827c
mov eax, dword [ebp - 0x2c]
call fcn.004894cc
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x58]
mov edx, 0x4a5840
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x58]
mov edx, 0x4a5884
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x58]
mov edx, 0x4a5a14
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.00489720
test al, al
jne 0x4a537e
mov byte [ebp - 0x3a], 1
mov edx, 0x4a5af4
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a48da
mov edx, 0x4a5af4
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x48]
call fcn.004882cc
mov eax, dword [ebp - 0x48]
lea edx, [ebp - 0x44]
call fcn.00408838
cmp dword [ebp - 0x44], 0
je 0x4a48da
lea eax, [ebp - 0x4c]
push eax
mov eax, 0x4a5b0c
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x68], 0xb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x64], eax
mov byte [ebp - 0x60], 0xb
mov edx, 0x4a5af4
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x70]
call fcn.004882cc
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x58], 0xb
mov eax, 0x4a5b0c
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
lea edx, [ebp - 0x6c]
mov ecx, 3
mov eax, 0x4a5b18
call fcn.00409858
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
lea eax, [ebp - 0x20]
mov edx, 0x4a5b40
call fcn.0040429c
mov eax, dword [ebx + 0x3c]
call fcn.00484ea4
fld xword [0x4a5b54]
fcompp
fnstsw ax
sahf
jae 0x4a492f
mov edx, 0x4a5b68
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x74]
call fcn.00486874
mov edx, dword [ebp - 0x74]
mov eax, 0x4a5b84
call fcn.00404808
test eax, eax
jle 0x4a492f
lea eax, [ebp - 0x20]
mov edx, 0x4a5b98
call fcn.0040429c
cmp dword [ebp - 8], 0
je 0x4a4976
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 8]
call fcn.00490cd0
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
call fcn.00409858
mov edx, dword [ebp - 0x78]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a49bb
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0x8c]
mov edx, dword [ebp - 4]
call fcn.00490cd0
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, dword [ebp - 0x20]
call fcn.00409858
mov edx, dword [ebp - 0x88]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov edx, 0x4a5bc4
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a4a2b
lea eax, [ebp - 0x90]
push eax
mov edx, 0x4a5bc4
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x98]
call fcn.004882cc
mov eax, dword [ebp - 0x98]
lea edx, [ebp - 0x94]
call fcn.004088f0
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5be0
call fcn.00409858
mov edx, dword [ebp - 0x90]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebx + 0x38]
mov edx, 0x4a5bfc
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a537e
push 0x4a5c08
mov edx, 0x4a5c14
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xa0]
call fcn.004882cc
mov eax, dword [ebp - 0xa0]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0x9c]
pop edx
call fcn.00490cd0
push dword [ebp - 0x9c]
push 0x4a5c2c
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404584
mov edx, 0x4a5c38
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a4b0b
lea eax, [ebp - 0x18]
mov edx, 0x4a5c54
call fcn.004044cc
mov edx, 0x4a5c6c
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a5352
lea eax, [ebp - 0xa4]
push eax
mov edx, 0x4a5c6c
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xa8]
call fcn.004882cc
mov edx, dword [ebp - 0xa8]
mov cl, 1
mov eax, ebx
call fcn.004adc10
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0x18]
call fcn.004044cc
jmp 0x4a5352
mov edx, 0x4a5c88
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov esi, eax
mov edx, 0x4a5ca0
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0xac]
push eax
mov edx, 0x4a5cb8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xb0]
call fcn.004882cc
mov eax, dword [ebp - 0xb0]
mov ecx, 4
mov edx, 1
call fcn.00404724
mov eax, dword [ebp - 0xac]
mov edx, 0x4a5cd0
call fcn.00404610
jne 0x4a4ba5
mov edx, 0x4a5cb8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xb4]
call fcn.004882cc
mov eax, dword [ebp - 0xb4]
mov al, byte [eax + 4]
add al, 0xd0
sub al, 0xa
jb 0x4a4c5f
mov edx, 0x4a5ce0
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
dec eax
je 0x4a4c5f
mov edx, 0x4a5cb8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xbc]
call fcn.004882cc
mov eax, dword [ebp - 0xbc]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0xb8]
pop edx
call fcn.00490cd0
mov edx, dword [ebp - 0xb8]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov edx, 0x4a5c88
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
sub eax, 0xe
je 0x4a4c1f
sub eax, 0x17
jne 0x4a50a3
mov edx, 0x4a5cf8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a50a3
mov edx, 0x4a5cf8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486808
test ax, ax
je 0x4a50a3
mov word [ebp - 0x28], 1
jmp 0x4a50a3
mov word [ebp - 0x10], 0xfff1
mov edi, 0x4ed98c
mov byte [ebp - 0x39], 0
mov edx, 0x4a5c88
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486808
movsx eax, ax
cmp eax, dword [edi]
jne 0x4a4eba
mov eax, dword [ebx + 0x3c]
call fcn.00484b94
cmp eax, 0xa
jl 0x4a4deb
mov edx, 0x4a5c88
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486808
add eax, 0xfffffff9
sub ax, 2
jb 0x4a4cc1
sub ax, 7
jne 0x4a4deb
mov edx, 0x4a5cb8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xc0]
call fcn.004882cc
mov eax, dword [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0x30]
call fcn.00489c18
mov edx, 0x4a5d14
call fcn.00488b04
pop edx
call fcn.0048827c
mov eax, dword [ebp - 0x30]
call fcn.004894cc
mov edx, 0x4a5d28
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a4de3
mov edx, 0x4a5d44
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486590
test eax, eax
jle 0x4a4de3
mov edx, 0x4a5d44
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486590
cmp eax, 2
jg 0x4a4de3
lea eax, [ebp - 0xc4]
push eax
mov edx, 0x4a5d44
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486590
mov eax, dword [eax*4 + 0x4ed9d4]
mov dword [ebp - 0xdc], eax
mov byte [ebp - 0xd8], 0xb
mov edx, 0x4a5d28
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486590
mov dword [ebp - 0xd4], eax
mov byte [ebp - 0xd0], 0
mov edx, 0x4a5ca0
mov eax, dword [ebp - 0x30]
call fcn.00489734
call fcn.00486590
neg eax
mov dword [ebp - 0xcc], eax
mov byte [ebp - 0xc8], 0
lea edx, [ebp - 0xdc]
mov ecx, 2
mov eax, 0x4a5d60
call fcn.00409858
mov edx, dword [ebp - 0xc4]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov byte [ebp - 0x39], 1
mov eax, dword [ebp - 0x30]
call fcn.00489464
cmp byte [ebp - 0x39], 0
jne 0x4a4eba
cmp esi, 7
jne 0x4a4e35
cmp dword [ebp - 0x40], 0
jge 0x4a4e35
lea eax, [ebp - 0xe0]
push eax
mov eax, dword [ebp - 0x40]
neg eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5d74
call fcn.00409858
mov edx, dword [ebp - 0xe0]
lea eax, [ebp - 0x18]
call fcn.004044cc
jmp 0x4a4eba
cmp esi, 8
jne 0x4a4e72
cmp dword [ebp - 0x40], 0
jge 0x4a4e72
lea eax, [ebp - 0xe4]
push eax
mov eax, dword [ebp - 0x40]
neg eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5d8c
call fcn.00409858
mov edx, dword [ebp - 0xe4]
lea eax, [ebp - 0x18]
call fcn.004044cc
jmp 0x4a4eba
cmp esi, 0x1b
jne 0x4a4eaf
cmp dword [ebp - 0x40], 0
jge 0x4a4eaf
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp - 0x40]
neg eax
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5da4
call fcn.00409858
mov edx, dword [ebp - 0xe8]
lea eax, [ebp - 0x18]
call fcn.004044cc
jmp 0x4a4eba
lea eax, [ebp - 0x18]
mov edx, dword [edi + 4]
call fcn.004044cc
sub edi, 8
inc word [ebp - 0x10]
jne 0x4a4c6a
mov eax, esi
sub eax, 0xe
je 0x4a4ed3
sub eax, 0x17
jne 0x4a4f08
lea eax, [ebp - 0xec]
push eax
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.004b06b4
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5dbc
call fcn.00409858
mov edx, dword [ebp - 0xec]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov edx, 0x4a5dcc
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a4f57
mov edx, 0x4a5cb8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0xf4]
call fcn.004882cc
mov edx, dword [ebp - 0xf4]
lea ecx, [ebp - 0xf0]
mov eax, ebx
call fcn.004a4230
mov edx, dword [ebp - 0xf0]
lea eax, [ebp - 0x18]
call fcn.004044cc
cmp esi, 0x105
jne 0x4a5003
mov edx, 0x4a5d44
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486808
mov word [ebp - 0x26], ax
lea eax, [ebp - 0x18]
mov edx, 0x4a5de4
call fcn.004044cc
cmp word [ebp - 0x26], 0
jle 0x4a4fa9
cmp word [ebp - 0x26], 8
jg 0x4a4fa9
lea eax, [ebp - 0x18]
movsx edx, word [ebp - 0x26]
mov edx, dword [edx*4 + 0x4ed994]
call fcn.004044cc
jmp 0x4a4fc6
lea edx, [ebp - 0xf8]
movsx eax, word [ebp - 0x26]
call fcn.00408a00
mov edx, dword [ebp - 0xf8]
lea eax, [ebp - 0x18]
call fcn.004044cc
lea eax, [ebp - 0xfc]
push eax
mov edx, 0x4a5df8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5e14
call fcn.00409858
mov edx, dword [ebp - 0xfc]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov eax, esi
sub eax, 0xe
je 0x4a501b
sub eax, 0x17
je 0x4a501b
cmp esi, 0x105
jne 0x4a50a3
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a50a3
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
test eax, eax
je 0x4a50a3
mov word [ebp - 0xe], 0
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a5079
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov word [ebp - 0xe], ax
push 0
lea eax, [ebp - 0x100]
push eax
xor ecx, ecx
mov dx, word [ebp - 0xe]
mov eax, ebx
call fcn.004a6060
mov edx, dword [ebp - 0x100]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov word [ebp - 0x28], 1
mov edx, 0x4a5e50
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a50ec
push dword [ebp - 0x18]
push 0x4a5e6c
mov edx, 0x4a5e50
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x104]
call fcn.004882cc
push dword [ebp - 0x104]
lea eax, [ebp - 0x18]
mov edx, 3
call fcn.00404584
mov edx, 0x4a5e78
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
dec eax
jne 0x4a523c
mov edx, 0x4a5c14
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x108]
call fcn.004882cc
mov eax, dword [ebp - 0x108]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00489c18
mov edx, 0x4a5d14
call fcn.00488b04
pop edx
call fcn.0048827c
mov edx, 0x4a5e90
mov eax, dword [ebp - 0x2c]
call fcn.00489734
lea edx, [ebp - 0x10c]
call fcn.004882cc
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x34]
call fcn.00489c18
mov edx, 0x4a5eac
call fcn.00488b04
pop edx
call fcn.0048827c
mov eax, dword [ebp - 0x34]
call fcn.004894cc
jmp 0x4a5217
mov edx, 0x4a5ec4
mov eax, dword [ebp - 0x34]
call fcn.00489734
lea edx, [ebp - 0x110]
call fcn.004882cc
mov edx, dword [ebp - 0x110]
mov eax, 0x4a5ee0
call fcn.00404808
dec eax
je 0x4a520f
lea eax, [ebp - 0x114]
push eax
mov edx, 0x4a5ec4
mov eax, dword [ebp - 0x34]
call fcn.00489734
lea edx, [ebp - 0x11c]
call fcn.004882cc
mov eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0x118]
pop edx
call fcn.00490cd0
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5ef0
call fcn.00409858
mov edx, dword [ebp - 0x114]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov eax, dword [ebp - 0x34]
call fcn.00489894
mov eax, dword [ebp - 0x34]
call fcn.00489720
test al, al
je 0x4a5180
mov eax, dword [ebp - 0x34]
call fcn.00489464
lea eax, [ebp - 0x18]
mov edx, 0x4a5f08
call fcn.004044cc
mov eax, esi
sub eax, 0xe
je 0x4a5254
sub eax, 0x17
je 0x4a5254
cmp esi, 0x105
jne 0x4a5352
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a5352
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
test eax, eax
je 0x4a5352
cmp word [ebp - 0x28], 0
je 0x4a5352
mov word [ebp - 0xc], 0
mov edx, 0x4a5f1c
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a52c7
mov edx, 0x4a5f1c
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov word [ebp - 0xc], ax
jmp 0x4a52f3
mov edx, 0x4a5cf8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a52f3
mov edx, 0x4a5cf8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov word [ebp - 0xc], ax
mov word [ebp - 0xe], 0
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486dec
test al, al
jne 0x4a5325
mov edx, 0x4a5e30
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00486590
mov word [ebp - 0xe], ax
cmp word [ebp - 0xc], 0
je 0x4a5352
push 1
lea eax, [ebp - 0x120]
push eax
mov cx, word [ebp - 0xc]
mov dx, word [ebp - 0xe]
mov eax, ebx
call fcn.004a6060
mov edx, dword [ebp - 0x120]
lea eax, [ebp - 0x18]
call fcn.004044cc
mov eax, dword [ebp - 0x2c]
call fcn.00489894
mov eax, dword [ebp - 0x2c]
call fcn.00489720
test al, al
jne 0x4a5373
lea eax, [ebp - 0x18]
mov edx, 0x4a5f38
call fcn.004044cc
mov eax, dword [ebx + 0x38]
mov edx, dword [ebp - 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x2c]
call fcn.00489720
test al, al
je 0x4a4a3d
mov eax, dword [ebp - 0x38]
call fcn.00489c18
mov edx, 0x4a5f44
call fcn.00488b04
mov edx, dword [ebp - 4]
call fcn.0048827c
mov eax, dword [ebp - 0x38]
call fcn.004894cc
jmp 0x4a55be
lea eax, [ebp - 0x1c]
call fcn.00404204
mov eax, dword [ebx + 0x38]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
lea ecx, [ebp - 0x124]
mov eax, dword [ebx + 0x38]
mov edi, dword [eax]
call dword [edi + 0xc]
lea eax, [ebp - 0x124]
mov edx, 0x4a5f38
call fcn.004044cc
mov eax, dword [ebp - 0x124]
push eax
mov esi, dword [ebx + 0x38]
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, eax
dec edx
mov eax, esi
pop ecx
mov esi, dword [eax]
call dword [esi + 0x20]
mov edx, 0x4a5ec4
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x128]
call fcn.004882cc
mov edx, dword [ebp - 0x128]
mov eax, 0x4a5ee0
call fcn.00404808
dec eax
je 0x4a547b
push dword [ebp - 0x1c]
push 0x4a5f5c
mov edx, 0x4a5ec4
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x130]
call fcn.004882cc
mov eax, dword [ebp - 0x130]
push eax
mov eax, dword [ebx + 0x30]
call fcn.00493c64
lea ecx, [ebp - 0x12c]
pop edx
call fcn.00490cd0
push dword [ebp - 0x12c]
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00404584
mov edx, 0x4a5f70
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x134]
call fcn.004882cc
mov edx, dword [ebp - 0x134]
mov eax, 0x4a5f8c
call fcn.00404808
dec eax
jne 0x4a551b
lea eax, [ebp - 0x13c]
push eax
mov edx, 0x4a5f9c
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x144]
call fcn.004882cc
mov edx, dword [ebp - 0x144]
lea ecx, [ebp - 0x140]
mov eax, ebx
call fcn.004a65f8
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5fb4
call fcn.00409858
mov ecx, dword [ebp - 0x13c]
lea eax, [ebp - 0x138]
mov edx, dword [ebp - 0x1c]
call fcn.00404510
mov edx, dword [ebp - 0x138]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x4a55b6
mov edx, 0x4a5f70
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x148]
call fcn.004882cc
mov edx, dword [ebp - 0x148]
mov eax, 0x4a5fd0
call fcn.00404808
dec eax
jne 0x4a55b6
lea eax, [ebp - 0x150]
push eax
mov edx, 0x4a5f9c
mov eax, dword [ebp - 0x38]
call fcn.00489734
lea edx, [ebp - 0x158]
call fcn.004882cc
mov edx, dword [ebp - 0x158]
lea ecx, [ebp - 0x154]
mov eax, ebx
call fcn.004a65f8
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 0xb
lea edx, [ebp - 0x80]
xor ecx, ecx
mov eax, 0x4a5fe0
call fcn.00409858
mov ecx, dword [ebp - 0x150]
lea eax, [ebp - 0x14c]
mov edx, dword [ebp - 0x1c]
call fcn.00404510
mov edx, dword [ebp - 0x14c]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [ebp - 0x38]
call fcn.00489894
mov eax, dword [ebp - 0x38]
call fcn.00489720
test al, al
je 0x4a53b5
mov eax, dword [ebx + 0x3c]
call fcn.00484ea4
fld xword [0x4a5b54]
fcompp
fnstsw ax
sahf
jae 0x4a5627
mov edx, 0x4a5ff8
mov eax, dword [ebp - 0x2c]
call fcn.00489734
call fcn.00485e48
sub eax, 0xb
je 0x4a5601
sub eax, 8
je 0x4a5610
jmp 0x4a561f
lea eax, [ebp - 0x24]
mov edx, 0x4a600c
call fcn.0040429c
jmp 0x4a5627
lea eax, [ebp - 0x24]
mov edx, 0x4a602c
call fcn.0040429c
jmp 0x4a5627
lea eax, [ebp - 0x24]
call fcn.00404204
cmp byte [ebp - 0x3a], 0
je 0x4a5658
push 0x4a6050
push dword [ebp - 0x24]
push 0x4a605c
lea eax, [ebp - 0x15c]
mov edx, 3
call fcn.00404584
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax]
call dword [ecx + 0x38]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4a568d
mov eax, dword [ebp - 0x2c]
call fcn.004033d4
mov eax, dword [ebp - 0x30]
call fcn.004033d4
mov eax, dword [ebp - 0x34]
call fcn.004033d4
mov eax, dword [ebp - 0x38]
call fcn.004033d4
ret