Function at 0x631050
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xac]
cmp eax, dword [ecx + 8]
jbe 0x6322d5
sub esp, 0x12c
mov eax, dword [esp + 0x130]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x6322ce
mov byte [eax + 8], 1
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov edx, dword [ecx]
mov edx, dword [edx]
mov dword [esp], edx
call fcn.00637bd0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
movzx edx, byte [esp + 4]
mov ebx, dword [ecx]
cmp dword [ecx + 4], 4
jne 0x6322c7
cmp dword [ebx], 0x44414548
sete cl
mov byte [esp + 0x37], dl
mov byte [esp + 0x38], cl
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx + 4]
test ebp, ebp
je 0x6322bf
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x64f3e0]
mov dword [esp + 0x98], ecx
setne cl
mov byte [esp + 0x9c], cl
mov dword [esp + 0xa0], ebp
lea ecx, [esp + 0x68]
mov dword [esp + 0xa4], ecx
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0044f1c4
mov ecx, dword [ebx + 4]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0xfc]
call fcn.0044f1c4
lea ecx, [0x802360]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
lea edx, [esp + 0xfc]
mov dword [esp + 8], edx
call fcn.0040bd90
xor eax, eax
jmp 0x631199
mov byte [esp + 0x35], al
lea ecx, [esp + 0xfc]
mov dword [esp], ecx
call fcn.0040c010
movzx eax, byte [esp + 0x35]
mov byte [esp + 0x35], al
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x63123d
mov edx, dword [ecx + 4]
mov dword [esp + 0x48], edx
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
nop
cmp edx, 8
jge 0x63120f
xor ebx, ebx
test bl, bl
je 0x631181
mov eax, dword [esp + 0x68]
test eax, eax
je 0x6311f9
lea eax, [0x7b0100]
mov dword [esp], eax
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0040f670
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov eax, 1
jmp 0x631181
call fcn.0040aa60
mov eax, dword [esp]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x6311cd
mov dword [esp], ecx
lea eax, [0x8155ae]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00402010
movzx ebx, byte [esp + 0xc]
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x6311c1
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 4]
lea edx, [0x802360]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x815123]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 7
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov eax, dword [eax]
mov dword [esp + 0x88], eax
xor edx, edx
movzx ebx, byte [esp + 0x35]
jmp 0x6312f5
mov dword [esp + 0x50], edx
lea ecx, [eax + edx*8]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea ebp, [0x65a3d0]
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0x130]
mov edi, dword [esi]
mov dword [esp + 0x94], edi
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.006322e0
mov eax, dword [esp + 0x50]
lea edx, [eax + 1]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
mov ebx, 1
cmp edx, ecx
jl 0x631288
mov byte [esp + 0x35], bl
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x819290]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x11
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x6322b6
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x58]
lea ebx, [edx + 0x54]
nop
mov dword [esp], ebx
call fcn.004553a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
test ecx, ecx
test eax, eax
je 0x6322af
movzx eax, byte [esp + 0x35]
test al, al
je 0x632218
xor eax, eax
test al, al
je 0x632207
movzx eax, byte [esp + 0x38]
test al, al
je 0x6321f6
mov edx, dword [esp + 0x138]
test edx, edx
setg bl
test bl, bl
jne 0x63217a
mov ebx, dword [esp + 0x58]
movzx ebp, byte [ebx + 0x16]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x632170
movzx ebp, byte [esp + 0x37]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x63208c
cmp dword [ebx + 0x38], 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
cmp dword [ebx + 0x3c], 0xffffffff
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, esi
xchg edi, eax
mov byte [esp + 0x39], al
xchg edi, eax
movzx esi, byte [ebx + 0x16]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6313fc
test al, al
je 0x632045
mov eax, 1
test al, al
jne 0x631ff3
mov eax, dword [ebx + 4]
nop
mov esi, dword [eax + 0x14]
cmp esi, 1
jle 0x631fde
mov eax, 1
test al, al
je 0x63141d
movzx eax, byte [ebx + 0x17]
test al, al
je 0x631421
mov byte [ebx + 0x44], 1
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x815f35]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x631fd5
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp ecx, 5
jne 0x631fbf
cmp dword [eax], 0x736f6c63
jne 0x631fbf
cmp byte [eax + 4], 0x65
jne 0x631fbf
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x24]
lea ebp, [0x8b6ef0]
cmp dword [ecx + 0x20], ebp
jne 0x631fb5
jne 0x6314aa
movzx ecx, byte [ebx + 0xd]
test cl, cl
je 0x631fac
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
setne bl
mov esi, dword [ecx + 0x30]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x6314d5
movzx ebx, byte [eax + 0x44]
test bl, bl
je 0x631cfd
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x44], ecx
nop
cmp ecx, 0x64
jl 0x631c5c
cmp ecx, 0xc7
jg 0x631c5c
nop
cmp ecx, 0x130
jne 0x631c2c
mov ebx, dword [0xb77870]
mov ebp, dword [0xb77874]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x84], ebx
xor edx, edx
jmp 0x631557
mov dword [esp + 0x54], edx
lea eax, [ebx + edx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x54]
lea edx, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jl 0x63151a
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea ecx, [0x81462d]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.0040f2c0
movzx eax, byte [esp + 0x14]
test al, al
je 0x631bb5
movzx eax, byte [esp + 0x39]
test al, al
je 0x631bac
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x6315bc
cmp ecx, 8
je 0x631b87
mov edx, 1
test dl, dl
jne 0x631a94
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 4]
mov esi, dword [ebp]
cmp dword [ebp + 4], 4
jne 0x631a88
cmp dword [esi], 0x44414548
jne 0x631866
mov eax, dword [esp + 0x130]
movzx ecx, byte [eax + 9]
test cl, cl
jne 0x631835
mov ecx, dword [ebx + 4]
nop
mov ebp, dword [ecx + 0x14]
cmp ebp, 1
jle 0x63181f
mov ecx, 1
test cl, cl
je 0x631818
movzx ecx, byte [ebx + 0x44]
test cl, cl
je 0x631811
movzx ecx, byte [esp + 0x37]
test cl, cl
jne 0x63179b
mov ecx, 1
test cl, cl
jne 0x63172a
mov ecx, dword [ebx + 4]
nop
mov edx, dword [ecx + 0x14]
cmp edx, 1
jle 0x631715
mov ecx, 1
mov eax, dword [ebx]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov byte [esp + 4], cl
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
lea eax, [ebx + 0x7f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
call fcn.00632410
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov edx, dword [esp + 0x130]
mov edx, dword [edx + 4]
mov ebx, dword [esp + 0x68]
nop
mov ecx, dword [ecx + 0x2c]
mov dword [esp], edx
lea edx, [0x8b35f0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0
call fcn.00626c60
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x80], ecx
mov edi, esp
lea esi, [esp + 0xcc]
call fcn.0044f668
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
call fcn.00630df0
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [0xb77608]
mov ecx, dword [0xb77604]
mov edx, dword [0xb77600]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005cc6a0
add esp, 0x12c
ret
jne 0x631723
cmp dword [ecx + 0x18], 1
setge cl
jmp 0x631647
xor ecx, ecx
jmp 0x631647
lea eax, [0x815f35]
mov dword [esp], eax
mov dword [esp + 4], 0xa
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
nop
mov ebx, dword [ecx + 0x14]
cmp ebx, 1
jle 0x63178c
mov ecx, 1
test cl, cl
je 0x63177c
lea ecx, [0x814a74]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], 5
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x631632
jne 0x631797
cmp dword [ecx + 0x18], 1
setge cl
jmp 0x631760
xor ecx, ecx
jmp 0x631760
mov ecx, dword [eax + 4]
nop
lea edx, [0x802360]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x815f35]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x63180b
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x814a74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.00627070
movzx ecx, byte [esp + 0x10]
xor ecx, 1
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x63162a
xor ecx, ecx
xor eax, eax
jmp 0x6317d5
xor ecx, ecx
jmp 0x63162a
add esp, 0x12c
ret
jne 0x63182e
mov ecx, dword [ecx + 0x18]
test ecx, ecx
setge cl
jmp 0x631604
xor ecx, ecx
jmp 0x631604
lea eax, [0x8179e5]
mov dword [esp], eax
mov dword [esp + 4], 0xe
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x6315ef
mov esi, dword [esp + 0x44]
cmp esi, 0x64
nop
jl 0x631a60
cmp esi, 0xc7
jg 0x631a60
xor edx, edx
test dl, dl
je 0x6315dc
cmp esi, 0xcc
je 0x631a2b
test al, al
jne 0x6319f6
nop
mov eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x6319e1
mov eax, 1
test al, al
je 0x6319a8
test ecx, ecx
je 0x63199f
cmp ecx, 8
jne 0x631994
mov eax, dword [esp + 0x5c]
cmp dword [eax], 0x6e656469
jne 0x63198d
cmp dword [eax + 4], 0x79746974
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x631901
mov eax, dword [esp + 0x130]
mov byte [eax + 9], 0
mov byte [ebx + 0x44], 1
jmp 0x6315dc
test ecx, ecx
mov ebp, dword [esp + 0x130]
mov byte [ebp + 9], 1
lea edi, [0x8151a1]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], 7
je 0x631948
cmp ecx, 7
jne 0x631989
cmp dword [eax], 0x6e756863
jne 0x631985
cmp word [eax + 4], 0x656b
jne 0x631981
cmp byte [eax + 6], 0x64
sete al
test al, al
jne 0x63194f
mov eax, ebp
jmp 0x6315dc
lea eax, [0x819290]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x44]
jmp 0x631948
xor eax, eax
jmp 0x631944
xor eax, eax
jmp 0x631944
xor eax, eax
jmp 0x631944
xor ebp, ebp
jmp 0x6318e7
mov eax, dword [esp + 0x5c]
xor ebp, ebp
jmp 0x6318e7
mov eax, dword [esp + 0x5c]
jmp 0x631903
mov byte [ebx + 0x44], 1
lea eax, [0x819290]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x6315dc
jne 0x6319ef
cmp dword [ebp + 0x18], 1
setge al
jmp 0x6318b0
xor eax, eax
jmp 0x6318b0
lea eax, [0x819290]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x6315dc
lea eax, [0x819290]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x6315dc
cmp esi, 0xcc
jne 0x631a6f
xor edx, edx
jmp 0x631882
cmp esi, 0x130
jne 0x631a7e
xor edx, edx
jmp 0x631882
mov edx, 1
jmp 0x631882
mov esi, dword [esp + 0x44]
cmp esi, 0x64
jmp 0x63186d
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407990
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00407920
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea ecx, [0x7abe80]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xac], ecx
lea ecx, [0x7ab3c0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [esp], ecx
lea ecx, [0x83077d]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x55
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.00637ca0
lea eax, [0x8179e5]
mov dword [esp], eax
mov dword [esp + 4], 0xe
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
mov ecx, dword [esp + 0x40]
xor eax, eax
jmp 0x6315bc
mov ebx, dword [esp + 0x5c]
cmp dword [ebx], 0x6e656469
je 0x631b9d
mov edx, 1
jmp 0x6315b4
cmp dword [ebx + 4], 0x79746974
setne dl
jmp 0x6315b4
mov ecx, dword [esp + 0x40]
jmp 0x6315bc
mov eax, dword [esp + 0x130]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
test byte [ecx], al
call fcn.004a60a0
lea edi, [esp + 0xb8]
mov esi, esp
call fcn.0044f6ae
mov eax, dword [esp + 0x78]
add eax, 0x58
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1d
lea edi, [esp + 0xc]
lea esi, [esp + 0xb8]
call fcn.0044f6ae
call fcn.0062f6a0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], ecx
jmp 0x631591
nop
cmp ecx, 0x64
jl 0x631c4b
cmp ecx, 0xc7
jg 0x631c4b
mov ebx, dword [0xb77880]
mov ebp, dword [0xb77884]
jmp 0x63150b
cmp ecx, 0xcc
je 0x631c3a
xor ebp, ebp
xor ebx, ebx
jmp 0x63150b
cmp ecx, 0xcc
je 0x6314f2
cmp ecx, 0x130
je 0x6314f2
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x816c15]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xc
call fcn.0040f2c0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x63155b
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x63155b
mov ecx, dword [esp + 0x138]
test ecx, ecx
jle 0x63155b
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x13c]
mov dword [esp + 8], eax
call fcn.006387b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
jmp 0x63155b
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x631ed2
mov esi, dword [ecx + 8]
cmp esi, 0x1a0af671
jne 0x631fa5
lea edi, [0x8b6e90]
cmp edi, ecx
jne 0x631f99
mov edx, ebx
je 0x631ee8
cmp esi, 0x2b9fd821
jne 0x631ed2
cmp ebp, ecx
jne 0x631ede
jne 0x631ed2
mov ecx, dword [edx]
movzx ecx, byte [ecx + 0x15]
xor edx, edx
test cl, cl
jne 0x631da8
test dl, dl
je 0x6314d5
mov dword [esp], eax
call fcn.0062e090
lea eax, [0x815f35]
mov dword [esp], eax
mov dword [esp + 4], 0xa
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
lea eax, [0x814a74]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 5
mov eax, dword [esp + 0x58]
jmp 0x6314d5
mov byte [esp + 0x36], dl
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
lea ebx, [0x7be1a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00407b70
mov eax, dword [0xb76ecc]
mov ecx, dword [0xb76ec8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x40001
mov dword [esp + 0x14], 0
call fcn.0048a1a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x631ec4
cmp dword [0xb7d8d8], eax
je 0x631e82
cmp dword [0xb7d820], eax
je 0x631e34
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
mov edx, ecx
jmp 0x631d56
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xb7d824]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x631e20
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
je 0x631e7c
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
jmp 0x631e2d
mov eax, dword [esp + 0x58]
jmp 0x631e75
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0xb7d8dc]
mov dword [esp + 8], edx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x631eb7
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x36]
jmp 0x631e2d
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
jmp 0x631e18
mov eax, dword [esp + 0x58]
mov ecx, 1
jmp 0x631e2d
mov ecx, 1
xor edx, edx
jmp 0x631d52
mov edx, 0
jmp 0x631d44
mov dword [esp + 0x70], ebx
test byte [ebx], al
lea eax, [ebx + 0x18]
mov dword [esp + 0x74], eax
mov dword [esp], eax
call fcn.00463790
mov eax, dword [esp + 0x70]
movzx ecx, byte [eax + 0x21]
test cl, cl
je 0x631f46
movzx eax, byte [eax + 0x20]
test al, al
je 0x631f3c
xor eax, eax
xor ecx, ecx
mov byte [esp + 0x3b], cl
mov byte [esp + 0x3a], al
mov edx, dword [esp + 0x74]
mov dword [esp], edx
call fcn.00463b10
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x3a]
movzx edx, byte [esp + 0x3b]
jmp 0x631d52
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
jmp 0x631f11
nop
mov ecx, dword [eax + 4]
lea edx, [0x8b3db0]
cmp dword [eax], edx
jne 0x631f92
jne 0x631f86
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, 0x40000
setae al
test ecx, ecx
setg cl
sete dl
and edx, eax
or edx, ecx
test dl, dl
je 0x631f7d
xor eax, eax
mov ecx, 1
jmp 0x631f15
mov eax, 1
xor ecx, ecx
jmp 0x631f15
mov eax, 0xffffffff
mov ecx, 0xffffffff
jmp 0x631f5c
mov ecx, 0
jmp 0x631f54
mov edx, ebx
mov ebx, 0
jmp 0x631d2a
mov edx, ebx
jmp 0x631d30
mov byte [eax + 0x44], 1
jmp 0x6314aa
mov ebx, 0
jmp 0x63149c
movzx eax, byte [esp + 0x37]
test al, al
je 0x63147f
mov eax, dword [esp + 0x58]
jmp 0x631487
xor ecx, ecx
xor eax, eax
jmp 0x631460
jne 0x631fec
cmp dword [eax + 0x18], 1
setge al
jmp 0x631411
xor eax, eax
jmp 0x631411
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x815f35]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040f2c0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x631421
lea eax, [0x8162d7]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0xa
jmp 0x631421
xchg edi, eax
test al, al
xchg edi, eax
je 0x632055
mov eax, 1
jmp 0x6313f4
nop
mov eax, dword [ebx + 0x40]
cmp eax, 0x64
jl 0x63206f
cmp eax, 0xc7
jg 0x63206f
xor eax, eax
xor eax, 1
jmp 0x6313f4
cmp eax, 0xcc
jne 0x63207a
xor eax, eax
jmp 0x632067
cmp eax, 0x130
jne 0x632085
xor eax, eax
jmp 0x632067
mov eax, 1
jmp 0x632067
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x8179e5]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x632169
mov eax, dword [ecx + 4]
test eax, eax
jne 0x6320ff
xor eax, eax
test al, al
je 0x6320f9
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 0
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x58]
movzx ebp, byte [esp + 0x37]
jmp 0x6313bf
mov eax, dword [esp + 0x58]
jmp 0x6320db
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x815f35]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x632163
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp eax, 0xa
je 0x632143
xor eax, eax
jmp 0x6320cf
mov dword [esp], ecx
lea ecx, [0x8162d7]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00402010
movzx eax, byte [esp + 0xc]
jmp 0x6320cf
xor eax, eax
xor ecx, ecx
jmp 0x63213a
xor eax, eax
jmp 0x6320c9
movzx ebp, byte [esp + 0x37]
jmp 0x6313bf
mov eax, dword [esp + 0x58]
mov dword [eax + 0x38], edx
mov ecx, edx
sar edx, 0x1f
mov dword [eax + 0x3c], edx
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx]
test byte [ebp], al
add ebp, 0x75
mov dword [esp], ebp
mov dword [esp + 4], 0
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0xa
call fcn.0045efc0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf8], edx
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x138]
jmp 0x63139e
mov edx, dword [esp + 0x138]
mov ebx, 1
jmp 0x631396
movzx eax, byte [esp + 0x38]
mov edx, dword [esp + 0x138]
jmp 0x63139e
test ecx, ecx
je 0x632223
xor eax, eax
jmp 0x631375
nop
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x40]
cmp edx, 0x64
jl 0x632290
cmp edx, 0xc7
jg 0x632290
xor edx, edx
test dl, dl
jne 0x632245
xor eax, eax
jmp 0x631375
nop
lea eax, [0x802360]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x8179e5]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040ef30
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x63228c
mov eax, dword [ecx + 4]
test eax, eax
sete al
mov ecx, dword [esp + 0x40]
jmp 0x631375
xor eax, eax
jmp 0x63227e
cmp edx, 0xcc
jne 0x63229c
xor edx, edx
jmp 0x63223a
cmp edx, 0x130
jne 0x6322a8
xor edx, edx
jmp 0x63223a
mov edx, 1
jmp 0x63223a
xor eax, eax
jmp 0x631375
xor eax, eax
xor ecx, ecx
jmp 0x63133c
mov ebp, dword [eax + 0x28]
jmp 0x6310d7
xor ecx, ecx
jmp 0x6310bd
add esp, 0x12c
ret
call fcn.0044d880
jmp fcn.00631050