Function at 0x4501c4
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x1f4
push ebx
xor ebx, ebx
push esi
xor esi, esi
inc ebx
cmp dword [ebp + 0x7c], 2
push edi
mov byte [ebp + 0x6c], 0
jne 0x4501f6
cmp byte [0x465357], 0
mov dword [ebp + 0x7c], ebx
jne 0x4501f6
mov byte [0x465357], bl
mov byte [ebp + 0x6c], bl
cmp dword [0x466198], esi
je 0x450209
push esi
mov ecx, 0x466180
call 0x487674
cmp dword [ebp + 0x78], 0x8000012f
push 0xa
pop edi
jne 0x45021e
mov dword [ebp + 0x78], edi
mov byte [ebp + 0x38], 1
jmp 0x45022c
cmp dword [ebp + 0x78], 5
setle byte [ebp + 0x38]
cmp byte [ebp + 0x38], 0
je 0x450231
mov dword [ebp + 0x18], esi
jmp 0x45023a
call dword [fcn.0045826c]
mov dword [ebp + 0x18], eax
cmp dword [0x466ed4], esi
je 0x450247
call fcn.004513ff
cmp dword [0x466100], esi
mov byte [ebp + 0x6f], 0
je 0x450260
call fcn.0044fb17
test al, al
je 0x450260
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x78], esi
jle 0x4502ec
cmp dword [ebp + 0x7c], ebx
jne 0x4502ec
inc dword [0x465358]
cmp byte [0x465350], 0
mov byte [ebp + 0x6e], 1
jne 0x45029b
push esi
push edi
push 9
push dword [0x465208]
call dword [0x458528]
test eax, eax
setne al
mov byte [0x465350], al
mov ebx, dword [ebp + 0x78]
mov byte [ebp + 0x67], 0
mov byte [ebp + 0x6d], 0
mov esi, dword [fcn.0045826c]
call esi
xor ecx, ecx
cmp dword [ebp + 0x78], ecx
mov edi, eax
jle 0x450442
cmp byte [ebp + 0x6d], cl
jne 0x450442
cmp byte [0x465357], cl
jne 0x45044f
cmp byte [0x4651f0], cl
je 0x4502f2
cmp byte [0x463069], cl
je 0x4502f2
cmp dword [0x465370], ecx
jne 0x4502f2
xor eax, eax
jmp 0x4502f7
mov byte [ebp + 0x6e], 0
jmp 0x45029b
mov eax, 0x311
push eax
push ecx
push ecx
lea eax, [ebp + 0x44]
push eax
call dword [0x4584b4]
cmp eax, 0xffffffff
je 0x4502a6
call esi
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x450319
mov dword [0x466150], eax
cmp dword [0x465b0c], 0
je 0x450346
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp + 0x44]
push eax
push dword [ebp + 0x50]
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
call fcn.0044fca0
add esp, 0x18
test al, al
jne 0x4502a6
cmp dword [0x468ee8], 0
je 0x4507d3
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4507d3
cmp eax, dword [0x465208]
je 0x4507d3
cmp dword [ebp + 0x48], 0x414
je 0x4507d3
cmp dword [ebp + 0x48], 0x402
je 0x4507d3
cmp dword [ebp + 0x48], 0x100
jne 0x450784
mov eax, dword [ebp + 0x4c]
cmp eax, 0x22
je 0x4503b1
cmp eax, 0x21
je 0x4503b1
cmp eax, 9
je 0x4503b1
cmp eax, 0x25
je 0x4503b1
cmp eax, 0x27
jne 0x4506b5
call dword [0x4584b8]
mov esi, eax
test esi, esi
je 0x4506b5
push esi
call 0x47f95c
test eax, eax
pop ecx
je 0x4506b5
push eax
call 0x4768c3
mov ebx, eax
test ebx, ebx
pop ecx
je 0x4506b5
cmp byte [ebx + 0x54], 0
je 0x4506b5
push 0
push esi
mov ecx, ebx
call 0x476864
mov edi, eax
test edi, edi
mov dword [ebp + 0x68], edi
je 0x4506b5
mov al, byte [edi + 4]
cmp al, 0xf
je 0x4506b5
xor esi, esi
cmp al, 0x13
mov eax, dword [ebp + 0x4c]
jne 0x450635
cmp eax, 0x25
mov esi, edi
je 0x45042a
cmp eax, 0x27
jne 0x450635
cmp eax, 0x27
sete al
push 0
push 0
push eax
push edi
mov ecx, ebx
call 0x479ebf
jmp 0x4502a6
cmp byte [0x465357], 0
je 0x4505a4
call dword [0x4584bc]
mov esi, eax
test esi, esi
je 0x4505a4
push 0
push esi
call dword [0x4584c0]
cmp eax, dword [0x465c44]
jne 0x4505a4
cmp dword [0x46537c], 0
je 0x4504a5
push 0x20
lea eax, [ebp - 0x3c]
push eax
push esi
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585f8
push eax
call 0x49a590
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x43], al
jne 0x4504df
call dword [0x4584b8]
test eax, eax
je 0x4505a4
push 0x20
lea ecx, [ebp - 0x3c]
push ecx
push eax
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585e8
push eax
call 0x486411
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x43], al
je 0x4505a4
mov esi, dword [0x4584c8]
xor eax, eax
push eax
push 0x1ff
push eax
push eax
lea eax, [ebp + 0x44]
push eax
call esi
test eax, eax
jne 0x45052b
cmp byte [0x4651f0], al
je 0x450511
cmp byte [0x463069], al
je 0x450511
cmp dword [0x465370], eax
je 0x450516
mov eax, 0x311
push 1
push eax
push 0x20e
push 0
lea eax, [ebp + 0x44]
push eax
call esi
jmp 0x4505d6
cmp byte [0x4651f0], 0
mov esi, dword [ebp + 0x54]
je 0x45054a
cmp byte [0x463069], 0
je 0x45054a
xor eax, eax
cmp dword [0x465370], eax
je 0x45054f
mov eax, 0x311
push 0
push eax
push 0x20e
push 0
lea eax, [ebp + 0x44]
push eax
call dword [0x4584c8]
test eax, eax
je 0x450570
mov eax, dword [ebp + 0x54]
sub eax, esi
test eax, eax
jle 0x450579
push 1
push 0x1ff
jmp 0x4505c8
cmp byte [0x4651f0], 0
je 0x450595
cmp byte [0x463069], 0
je 0x450595
xor eax, eax
cmp dword [0x465370], eax
je 0x45059a
mov eax, 0x311
push 1
push eax
push 0x20e
jmp 0x4505ca
cmp byte [0x4651f0], 0
je 0x4505c0
cmp byte [0x463069], 0
je 0x4505c0
xor eax, eax
cmp dword [0x465370], eax
je 0x4505c5
mov eax, 0x311
push 1
push eax
push 0
lea eax, [ebp + 0x44]
push 0
push eax
call dword [0x4584c8]
xor esi, esi
cmp eax, esi
jne 0x450319
call dword [fcn.0045826c]
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x4505f4
mov dword [0x466150], eax
cmp dword [ebp + 0x78], esi
jne 0x45060f
cmp byte [ebp + 0x67], 0
jne 0x45060f
push esi
call dword [fcn.00458264]
mov byte [ebp + 0x67], 1
jmp 0x4502a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004513be
add esp, 0xc
test eax, eax
jne 0x451329
push 5
call dword [fcn.00458264]
jmp 0x4502a6
cmp eax, 0x25
je 0x4506b5
cmp eax, 0x27
je 0x4506b5
push 0x11
call dword [fcn.004584cc]
test ah, ah
jns 0x4506b5
cmp dword [ebp + 0x4c], 9
jne 0x450665
cmp byte [edi + 4], 0xc
jne 0x450665
push 0xfffffffffffffff0
push dword [edi]
call dword [fcn.004584d0]
test al, 4
jne 0x4506b5
test esi, esi
jne 0x45068a
xor eax, eax
mov al, byte [edi + 6]
mov ecx, ebx
push eax
call 0x476eb9
mov esi, eax
test esi, esi
jne 0x45068a
push eax
mov ecx, ebx
call 0x476eb9
mov esi, eax
test esi, esi
je 0x4506b5
cmp dword [ebp + 0x4c], 0x22
je 0x4506a6
cmp dword [ebp + 0x4c], 9
jne 0x4506a2
push 0x10
call dword [fcn.004584cc]
test ah, ah
jns 0x4506a6
xor al, al
jmp 0x4506aa
xor eax, eax
mov al, 1
push 1
push 1
push eax
push esi
jmp 0x450436
cmp dword [ebp + 0x4c], 0x1b
je 0x4506db
cmp dword [ebp + 0x4c], 9
je 0x4506db
cmp dword [ebp + 0x4c], 0x41
jne 0x45075e
push 0x11
call dword [fcn.004584cc]
test ah, ah
jns 0x45075e
call dword [0x4584b8]
mov esi, eax
test esi, esi
je 0x45075e
push esi
call 0x47f95c
test eax, eax
pop ecx
je 0x45075e
push eax
call 0x4768c3
mov ebx, eax
test ebx, ebx
pop ecx
je 0x45075e
push 0
push esi
mov ecx, ebx
call 0x476864
test eax, eax
mov dword [ebp + 0x68], eax
je 0x45075e
cmp byte [eax + 4], 0xc
jne 0x45075e
cmp dword [ebp + 0x4c], 0x1b
je 0x450752
cmp dword [ebp + 0x4c], 0x41
je 0x450736
test byte [eax + 5], 0x80
je 0x45075e
push 0x4585e4
push 1
push 0xc2
jmp 0x450745
test byte [eax + 5], 2
jne 0x45075e
push 0xffffffffffffffff
push 0
push 0xb1
push dword [eax]
call dword [fcn.004584d4]
jmp 0x4502a6
mov ecx, ebx
call 0x4765fe
jmp 0x4502a6
mov eax, dword [0x468eec]
xor ecx, ecx
cmp eax, ecx
je 0x450784
cmp dword [ebp + 0x4c], 0xd
jne 0x450773
push ecx
push ecx
jmp 0x45077c
cmp dword [ebp + 0x4c], 0x1b
jne 0x450784
push ecx
push 1
push 0x1116
push eax
jmp 0x450747
xor edi, edi
mov esi, 0x465928
mov eax, dword [esi]
test eax, eax
je 0x4507c8
cmp dword [eax], 0
je 0x4507bf
mov ecx, dword [ebp + 0x48]
mov dword [0x4651e8], ecx
lea ecx, [ebp + 0x44]
push ecx
mov byte [0x4651ec], 1
push dword [eax]
call dword [0x4584d8]
test eax, eax
jne 0x450d12
mov byte [0x4651ec], al
inc edi
cmp dword [0x468ee8], edi
je 0x4507d3
add esi, 4
cmp esi, 0x465ab4
jl 0x45078b
mov ecx, dword [ebp + 0x48]
mov eax, 0x312
cmp ecx, eax
ja 0x450928
je 0x45096b
mov eax, ecx
sub eax, 0x12
je 0x450913
sub eax, 0x39
je 0x450903
sub eax, 0xb5
je 0x4508d7
sub eax, 0x13
jne 0x450c92
xor esi, esi
cmp dword [ebp + 0x50], esi
jne 0x450c92
mov eax, dword [0x465208]
cmp dword [ebp + 0x44], eax
jne 0x450c92
cmp dword [0x466ed4], esi
je 0x450837
call fcn.004513ff
call dword [fcn.0045826c]
cmp dword [0x466100], esi
mov dword [0x466154], eax
je 0x450857
call fcn.0044fb17
test al, al
je 0x450857
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x7c], esi
je 0x4502a6
cmp dword [ebp + 0x78], 1
jl 0x4502a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004513be
add esp, 0xc
test eax, eax
je 0x4502a6
cmp byte [ebp + 0x6c], 0
je 0x450890
mov byte [0x465357], 0
cmp byte [ebp + 0x6e], 0
je 0x45089c
dec dword [0x465358]
cmp byte [0x465350], 0
je 0x45138e
xor eax, eax
cmp dword [ebp + 0x78], eax
jle 0x4513b3
cmp dword [0x465358], eax
jne 0x4513b3
cmp dword [0x466100], eax
jne 0x4513b3
cmp dword [0x466ed4], eax
jmp 0x451366
mov eax, dword [ebp + 0x44]
cmp eax, dword [0x46520c]
jne 0x450c92
cmp dword [ebp + 0x4c], 0x1b
jne 0x450c92
push 0
push dword [0x465208]
call dword [fcn.004584dc]
jmp 0x4502a6
and dword [0x465340], 0
mov byte [ebp + 0x6d], 1
jmp 0x4502a6
push 0
push 0
push 6
mov ecx, 0x465c88
call fcn.00459ec3
jmp 0x4502a6
cmp ecx, 0x400
jb 0x450c92
cmp ecx, 0x401
jbe 0x450958
cmp ecx, 0x402
je 0x45096b
cmp ecx, 0x414
je 0x45096b
cmp ecx, 0x415
jne 0x450c92
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x45096b
cmp eax, dword [0x465208]
jne 0x450c92
mov eax, ecx
xor esi, esi
xor edi, edi
sub eax, 0x401
je 0x450b47
dec eax
je 0x450b22
sub eax, 0x12
je 0x4509de
dec eax
je 0x4509d4
mov eax, dword [0x4641d0]
movzx eax, word [eax]
cmp dword [ebp + 0x4c], eax
jae 0x4502a6
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax*4 + 0x4663d0]
lea eax, [ebp + 0x34]
push eax
mov dword [ebp + 0x14], ecx
call fcn.00453ee7
test eax, eax
mov dword [ebp + 0x24], eax
je 0x4502a6
mov ecx, eax
mov al, byte [ecx + 0x18]
cmp al, 1
je 0x4509cd
cmp al, 3
je 0x4509cd
and dword [ebp + 0x34], edi
mov eax, dword [ecx]
jmp 0x450bb9
mov eax, dword [0x4660e8]
jmp 0x450bb9
push dword [ebp + 0x44]
call 0x4768c3
mov ebx, eax
cmp ebx, esi
pop ecx
je 0x450c92
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x4c]
mov edx, dword [ebp + 0x50]
mov dword [ebp + 8], eax
movzx eax, cx
shr ecx, 0x10
cmp eax, 8
mov dword [ebp + 0x60], edx
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x10], ecx
jne 0x450a1f
mov dword [ebp + 0x60], ecx
mov ecx, 0x2af8
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebx + 0xc]
jae 0x450a32
mov edx, dword [ebx + 0x14]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp + 0x68], ecx
jmp 0x450a35
mov dword [ebp + 0x68], esi
sub eax, 5
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x66], 0
je 0x450ad9
dec eax
je 0x450ac6
dec eax
je 0x450ab0
dec eax
je 0x450a9d
dec eax
je 0x450a8d
cmp dword [ebp + 0x68], esi
je 0x4502a6
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [ebp + 0x3c], ecx
jne 0x450a7d
test byte [eax + 5], 1
je 0x4502a6
mov ecx, ebx
call fcn.0047346c
jmp 0x4502a6
test byte [eax + 5], 4
jne 0x4502a6
mov byte [ebp + 0x66], 1
jmp 0x450b02
mov eax, dword [ebx + 0x2c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4502a6
jmp 0x450b02
mov eax, dword [ebx + 0x24]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4502a6
lea eax, [ebx + 0x32]
jmp 0x450ac1
mov eax, dword [ebx + 0x20]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4502a6
lea eax, [ebx + 0x31]
mov dword [ebp + 0x30], eax
jmp 0x450b02
mov eax, dword [ebx + 0x1c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4502a6
lea eax, [ebx + 0x30]
jmp 0x450ac1
mov eax, dword [ebx + 0x28]
cmp eax, esi
mov edi, dword [ebx + 0x6c]
mov dword [ebp + 0x3c], eax
je 0x450b0a
cmp edi, esi
je 0x4502a6
xor esi, esi
push esi
push esi
push 0xffffffffffffffff
push edi
call dword [0x458300]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x450b0a
mov eax, dword [ebp + 0x3c]
jmp 0x450bb9
cmp edi, esi
je 0x4502a6
push edi
call dword [0x458304]
and dword [ebx + 0x6c], 0
jmp 0x4502a6
push dword [ebp + 0x50]
mov ecx, 0x465c88
call 0x47ad22
cmp eax, esi
mov dword [ebp + 0x28], eax
je 0x4502a6
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4502a6
jmp 0x450bb9
mov eax, dword [ebp + 0x4c]
cmp eax, dword [0x466edc]
jae 0x4502a6
mov eax, dword [0x466ed8]
mov ecx, dword [ebp + 0x4c]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov al, byte [esi + 0x20]
test al, al
mov dword [ebp + 0x2c], esi
je 0x450b92
push dword [esi + 0x10]
push dword [esi + 0xc]
push eax
call fcn.004521f2
add esp, 0xc
test eax, eax
mov dword [ebp + 0x34], eax
je 0x4502a6
mov al, byte [esi + 0x20]
cmp al, 1
je 0x450b96
cmp al, 3
je 0x450b96
and dword [ebp + 0x34], 0
push dword [ebp + 0x50]
mov ecx, esi
call fcn.00451e56
mov eax, dword [esi + 8]
cmp byte [eax], 0
jne 0x4502a6
mov al, byte [ebp + 0x50]
mov byte [0x466118], al
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov ecx, dword [0x46535c]
cmp ecx, dword [0x463078]
mov al, byte [eax]
mov byte [ebp + 0x20], al
jl 0x450bfc
cmp ecx, 0x14
jg 0x450d30
cmp al, 0xd5
je 0x450bfc
cmp al, 0xc1
je 0x450bfc
cmp al, 0xcf
je 0x450bfc
cmp al, 0xd0
je 0x450bfc
cmp al, 0xcb
je 0x450bfc
cmp al, 0xcc
je 0x450bfc
cmp al, 0xcd
je 0x450bfc
cmp al, 0xce
jne 0x450d30
mov eax, dword [ebp + 0x48]
sub eax, 0x401
je 0x450d22
dec eax
je 0x450c5a
sub eax, 0x12
je 0x450c4e
dec eax
je 0x450c3a
push dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
call fcn.00453e02
test al, al
jne 0x450c32
push dword [ebp + 0x24]
call fcn.00453e3f
pop ecx
jmp 0x4502a6
mov eax, dword [ebp + 0x24]
jmp 0x450d25
cmp byte [0x4660e4], 0
jne 0x4502a6
xor esi, esi
jmp 0x450d28
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x450c47
cmp byte [eax], 0
jmp 0x450c41
mov eax, dword [ebp + 0x28]
mov esi, dword [eax + 0x18]
mov eax, dword [ebp + 0x4c]
cmp eax, 0x63
jae 0x450d1e
mov ebx, dword [eax*4 + 0x465928]
test ebx, ebx
jne 0x450d28
cmp dword [ebp + 0x44], ebx
je 0x450d28
mov eax, dword [0x465208]
cmp dword [ebp + 0x44], eax
je 0x450d28
call dword [0x4584bc]
mov esi, eax
test esi, esi
je 0x4512df
push 0
push esi
call dword [0x4584c0]
cmp eax, dword [0x465c44]
jne 0x4512df
push 0x20
lea eax, [ebp - 0x3c]
push eax
push esi
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585f8
push eax
call 0x49a590
test eax, eax
pop ecx
pop ecx
jne 0x4512df
mov eax, dword [ebp + 0x48]
mov dword [0x4651e8], eax
lea eax, [ebp + 0x44]
push eax
push esi
mov byte [0x4651ec], 1
call dword [0x4584d8]
test eax, eax
je 0x4512d8
cmp dword [0x46537c], 0
je 0x450d12
push 0x465b28
call dword [fcn.00458268]
mov byte [0x4651ec], 0
jmp 0x4502a6
xor ebx, ebx
jmp 0x450d28
mov eax, dword [ebp + 0x2c]
mov esi, dword [eax + 0x14]
cmp esi, dword [0x465164]
jge 0x450d37
test edi, edi
jmp 0x450b0c
cmp dword [0x466100], 0
mov byte [ebp + 0x6f], 1
jne 0x450d6f
cmp dword [0x466ed4], 0
jne 0x450d6f
cmp byte [0x465350], 0
je 0x450d6f
push 9
push dword [0x465208]
call dword [fcn.0045853c]
test eax, eax
je 0x450d6f
mov byte [0x465350], 0
mov eax, dword [ebp + 0x48]
cmp eax, 0x402
je 0x450dc7
cmp eax, 0x413
jbe 0x450d87
cmp eax, 0x415
jbe 0x450df2
cmp eax, 0x401
mov ecx, dword [0x4660d8]
mov dword [0x4660dc], ecx
mov ecx, dword [0x466110]
mov dword [0x466114], ecx
jne 0x450daf
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x450db5
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [0x4660d8], eax
call dword [fcn.0045826c]
mov dword [0x466110], eax
jmp 0x450df2
mov eax, dword [ebp + 0x28]
mov edi, 0x105
push edi
push dword [eax]
push 0x465ecc
call 0x47d879
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x14]
push edi
push dword [eax]
push 0x465fd1
call 0x47d879
add esp, 0x18
mov ecx, dword [0x465b20]
push 0x80
call fcn.00446939
push eax
lea eax, [ebp - 0xbc]
push eax
call 0x47d879
push 0xc8
lea eax, [ebp - 0x184]
push 0x465138
push eax
call 0x49a250
push dword [ebp + 0x20]
xor edi, edi
inc edi
push edi
push 0
push esi
call fcn.004500ee
add esp, 0x28
push 0
mov ecx, 0x465c88
call fcn.00450019
cmp dword [0x46537c], 0
je 0x450e57
push 0x465b28
call dword [fcn.00458268]
call dword [fcn.0045826c]
mov dword [0x466154], eax
mov dword [0x466150], eax
mov eax, dword [ebp + 0x48]
sub eax, 0x401
je 0x45122c
dec eax
je 0x451201
sub eax, 0x12
je 0x450f1c
dec eax
je 0x450eb3
mov ecx, dword [ebp + 0x14]
mov al, byte [ecx + 0x12]
cmp al, 0x9e
je 0x450e96
cmp al, 0x9f
jne 0x450e9e
mov eax, dword [ebp + 0x50]
mov dword [0x465170], eax
mov eax, dword [ebp + 0x34]
push dword [ebp + 0x24]
mov dword [0x4651d4], eax
call fcn.00453fdc
jmp 0x45123c
call dword [0x4584e0]
test eax, eax
je 0x450ee6
mov esi, dword [0x458550]
push edi
call esi
test eax, eax
jne 0x450ede
push 0xf
call esi
test eax, eax
jne 0x450ede
mov dword [0x465170], 2
jmp 0x450eed
mov dword [0x465170], edi
jmp 0x450eed
and dword [0x465170], 0
push dword [0x465170]
mov ecx, dword [0x465b20]
call fcn.004464f8
mov ecx, dword [0x4660e8]
mov byte [0x4660e4], 1
call fcn.0044a55f
mov byte [0x4660e4], 0
jmp 0x45123c
mov ecx, dword [ebp + 0x1c]
push 5
pop edi
cmp ecx, edi
mov byte [ebp - 8], 0
je 0x4510fb
jbe 0x451074
cmp ecx, 8
jbe 0x45100d
cmp ecx, 9
jne 0x451074
mov ecx, dword [ebp + 0x58]
mov esi, dword [ebp + 0x68]
xor eax, eax
cmp dword [ebp + 0x60], eax
mov dword [0x465174], ecx
mov ecx, dword [ebp + 0x5c]
sete al
and dword [ebp + 0x60], 0
test esi, esi
mov dword [0x465178], ecx
lea eax, [eax + eax + 1]
mov dword [0x46516c], eax
je 0x450ffa
cmp eax, 1
jne 0x450f8a
push 0x465174
push esi
mov ecx, ebx
call fcn.00473e16
movzx eax, byte [esi + 4]
sub eax, 9
je 0x450fe5
dec eax
je 0x450fda
dec eax
jne 0x450ffa
cmp dword [0x46516c], 1
jne 0x450fad
push 0
push 9
push 0x110a
jmp 0x450fd0
mov eax, dword [ebp + 0x58]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push dword [esi]
call dword [0x4584e4]
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x1111
push dword [esi]
call dword [fcn.004584d4]
jmp 0x450ff7
push 1
push 0xffffffffffffffff
push 0x100c
jmp 0x450fee
push 0
push 0
push 0x19f
push dword [esi]
call dword [fcn.004584d4]
inc eax
mov dword [ebp + 0x60], eax
push dword [ebx]
push 0x465174
call 0x47d618
pop ecx
pop ecx
jmp 0x45114e
cmp ecx, 8
mov esi, dword [ebp + 0x68]
mov dword [0x46516c], 1
jne 0x451146
mov eax, dword [ebp + 0xc]
mov dword [0x465174], eax
push dword [ebp + 0x60]
mov ecx, dword [0x465b20]
call fcn.004464f8
mov eax, dword [ebx]
mov edi, dword [ebp + 0x10]
mov dword [0x4651d4], eax
mov eax, dword [ebx + 8]
mov dword [0x46517c], eax
mov eax, dword [ebx + 8]
mov dword [0x465184], eax
mov eax, dword [ebp + 0x60]
mov dword [0x465170], eax
mov eax, dword [ebp + 0x30]
test eax, eax
mov dword [0x465180], edi
je 0x451168
mov byte [eax], 1
jmp 0x451172
mov esi, dword [ebp + 0x68]
mov al, byte [esi + 4]
cmp al, 0xa
je 0x4510a5
cmp al, 0x15
jne 0x4510f3
mov eax, dword [ebp + 0x58]
mov dword [0x465174], eax
mov eax, dword [ebp + 0x5c]
mov dword [0x465178], eax
push dword [ebx]
push 0x465174
call 0x47d618
pop ecx
pop ecx
mov ecx, dword [ebp + 0x1c]
jmp 0x4510f3
cmp cl, 0x49
jne 0x4510f3
test ch, 1
lea eax, [ebp - 8]
je 0x4510b8
mov byte [ebp - 8], 0x53
jmp 0x4510c1
test ch, 2
je 0x4510c4
mov byte [ebp - 8], 0x73
lea eax, [ebp - 7]
test ch, 4
je 0x4510ce
mov byte [eax], 0x46
jmp 0x4510d6
test ch, 8
je 0x4510d7
mov byte [eax], 0x66
inc eax
test ch, 0x10
je 0x4510e1
mov byte [eax], 0x43
jmp 0x4510e9
test ch, 0x20
je 0x4510ea
mov byte [eax], 0x63
inc eax
push 0x49
pop ecx
mov byte [eax], 0
mov dword [ebp + 0x1c], ecx
mov dword [0x46516c], ecx
jmp 0x45113d
mov eax, dword [ebp + 0x58]
mov dword [0x465174], eax
mov eax, dword [ebp + 0x5c]
mov dword [0x46516c], edi
mov dword [0x465178], eax
push dword [ebx]
push 0x465174
call 0x47d618
pop ecx
pop ecx
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.004584d0]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.004584e8]
mov esi, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x1c]
cmp ecx, 8
je 0x45102b
cmp ecx, edi
je 0x45102b
mov ecx, dword [0x465b20]
push 1
push 0
push 0xffffffffffffffff
lea eax, [ebp - 8]
push eax
call fcn.00446192
jmp 0x451039
cmp byte [ebp + 0x66], 0
je 0x451172
or byte [esi + 5], 4
mov ecx, dword [ebp + 0x3c]
call fcn.0044a55f
mov eax, dword [ebp + 8]
mov ebx, dword [eax*4 + 0x465928]
test ebx, ebx
je 0x45123c
cmp edi, dword [ebx + 0xc]
jae 0x45119c
mov ecx, dword [ebx + 0x14]
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*4]
jmp 0x45119e
xor ecx, ecx
mov eax, dword [ebp + 0x1c]
sub eax, 5
mov dword [ebp + 0x68], ecx
je 0x4511d5
dec eax
je 0x4511cf
dec eax
je 0x4511c9
dec eax
je 0x4511c3
dec eax
je 0x45123c
test ecx, ecx
je 0x45123c
and byte [ecx + 5], 0xfb
jmp 0x45123c
mov byte [ebx + 0x32], 0
jmp 0x45123c
mov byte [ebx + 0x31], 0
jmp 0x45123c
mov byte [ebx + 0x30], 0
jmp 0x45123c
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x4511e7
push eax
call dword [0x458304]
and dword [ebx + 0x6c], 0
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.004584d0]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.004584e8]
jmp 0x45123c
test ebx, ebx
je 0x45121f
mov eax, dword [ebx]
mov dword [0x4651d4], eax
mov dword [0x46516c], edi
mov eax, dword [ebx + 8]
mov dword [0x465184], eax
mov dword [0x46517c], eax
mov eax, dword [ebp + 0x28]
mov ecx, dword [eax + 0xc]
call fcn.0044a55f
jmp 0x45123c
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x2c]
mov dword [0x4651d4], eax
call fcn.00452114
push 1
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.0044ff37
add esp, 0xc
cmp dword [ebp + 0x7c], 0
jne 0x45127e
mov byte [0x4651f0], 1
mov byte [0x4651f2], 0
mov byte [0x4651f1], 1
mov dword [0x465164], 0x80000000
jmp 0x4502a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004513be
add esp, 0xc
test eax, eax
je 0x4512a0
mov byte [ebp + 0x6d], 1
mov byte [ebp + 0x38], 1
jmp 0x4502a6
cmp byte [ebp + 0x6e], 0
je 0x4502a6
cmp byte [0x465350], 0
jne 0x4502a6
push 0
push 0xa
push 9
push dword [0x465208]
call dword [0x458528]
test eax, eax
setne al
mov byte [0x465350], al
jmp 0x4502a6
mov byte [0x4651ec], 0
mov eax, dword [0x465218]
test eax, eax
je 0x451301
lea ecx, [ebp + 0x44]
push ecx
push eax
push dword [0x465208]
call dword [0x4584ec]
test eax, eax
jne 0x4502a6
mov eax, dword [ebp + 0x48]
mov dword [0x4651e8], eax
lea eax, [ebp + 0x44]
push eax
mov byte [0x4651ec], 1
call dword [0x458520]
lea eax, [ebp + 0x44]
push eax
call dword [0x458524]
jmp 0x450d12
cmp byte [ebp + 0x6c], 0
je 0x451336
mov byte [0x465357], 0
cmp byte [ebp + 0x6e], 0
je 0x451342
dec dword [0x465358]
cmp byte [0x465350], 0
je 0x451383
cmp dword [ebp + 0x78], esi
jle 0x4513b3
cmp dword [0x465358], esi
jne 0x4513b3
cmp dword [0x466100], esi
jne 0x4513b3
cmp dword [0x466ed4], esi
jne 0x4513b3
push 9
push dword [0x465208]
call dword [fcn.0045853c]
test eax, eax
je 0x4513b3
mov byte [0x465350], 0
jmp 0x4513b3
cmp dword [0x465358], esi
je 0x4513b3
push esi
jmp 0x451399
cmp dword [0x465358], 0
je 0x4513b3
push 0
push 0xa
push 9
push dword [0x465208]
call dword [0x458528]
test eax, eax
setne al
mov byte [0x465350], al
mov al, byte [ebp + 0x6f]
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret