Function at 0x4541c4
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 0x4541f6
cmp byte [0x465357], 0
mov dword [ebp + 0x7c], ebx
jne 0x4541f6
mov byte [0x465357], bl
mov byte [ebp + 0x6c], bl
cmp dword [0x466198], esi
je 0x454209
push esi
mov ecx, 0x466180
call 0x48b674
cmp dword [ebp + 0x78], 0x8000012f
push 0xa
pop edi
jne 0x45421e
mov dword [ebp + 0x78], edi
mov byte [ebp + 0x38], 1
jmp 0x45422c
cmp dword [ebp + 0x78], 5
setle byte [ebp + 0x38]
cmp byte [ebp + 0x38], 0
je 0x454231
mov dword [ebp + 0x18], esi
jmp 0x45423a
call dword [fcn.0045826c]
mov dword [ebp + 0x18], eax
cmp dword [0x466ed4], esi
je 0x454247
call fcn.004553ff
cmp dword [0x466100], esi
mov byte [ebp + 0x6f], 0
je 0x454260
call fcn.00453b17
test al, al
je 0x454260
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x78], esi
jle 0x4542ec
cmp dword [ebp + 0x7c], ebx
jne 0x4542ec
inc dword [0x465358]
cmp byte [0x465350], 0
mov byte [ebp + 0x6e], 1
jne 0x45429b
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 0x454442
cmp byte [ebp + 0x6d], cl
jne 0x454442
cmp byte [0x465357], cl
jne 0x45444f
cmp byte [0x4651f0], cl
je 0x4542f2
cmp byte [0x463069], cl
je 0x4542f2
cmp dword [0x465370], ecx
jne 0x4542f2
xor eax, eax
jmp 0x4542f7
mov byte [ebp + 0x6e], 0
jmp 0x45429b
mov eax, 0x311
push eax
push ecx
push ecx
lea eax, [ebp + 0x44]
push eax
call dword [0x4584b4]
cmp eax, 0xffffffff
je 0x4542a6
call esi
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x454319
mov dword [0x466150], eax
cmp dword [0x465b0c], 0
je 0x454346
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.00453ca0
add esp, 0x18
test al, al
jne 0x4542a6
cmp dword [0x468ee8], 0
je 0x4547d3
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x4547d3
cmp eax, dword [0x465208]
je 0x4547d3
cmp dword [ebp + 0x48], 0x414
je 0x4547d3
cmp dword [ebp + 0x48], 0x402
je 0x4547d3
cmp dword [ebp + 0x48], 0x100
jne 0x454784
mov eax, dword [ebp + 0x4c]
cmp eax, 0x22
je 0x4543b1
cmp eax, 0x21
je 0x4543b1
cmp eax, 9
je 0x4543b1
cmp eax, 0x25
je 0x4543b1
cmp eax, 0x27
jne 0x4546b5
call dword [0x4584b8]
mov esi, eax
test esi, esi
je 0x4546b5
push esi
call 0x48395c
test eax, eax
pop ecx
je 0x4546b5
push eax
call 0x47a8c3
mov ebx, eax
test ebx, ebx
pop ecx
je 0x4546b5
cmp byte [ebx + 0x54], 0
je 0x4546b5
push 0
push esi
mov ecx, ebx
call 0x47a864
mov edi, eax
test edi, edi
mov dword [ebp + 0x68], edi
je 0x4546b5
mov al, byte [edi + 4]
cmp al, 0xf
je 0x4546b5
xor esi, esi
cmp al, 0x13
mov eax, dword [ebp + 0x4c]
jne 0x454635
cmp eax, 0x25
mov esi, edi
je 0x45442a
cmp eax, 0x27
jne 0x454635
cmp eax, 0x27
sete al
push 0
push 0
push eax
push edi
mov ecx, ebx
call 0x47debf
jmp 0x4542a6
cmp byte [0x465357], 0
je 0x4545a4
call dword [0x4584bc]
mov esi, eax
test esi, esi
je 0x4545a4
push 0
push esi
call dword [0x4584c0]
cmp eax, dword [0x465c44]
jne 0x4545a4
cmp dword [0x46537c], 0
je 0x4544a5
push 0x20
lea eax, [ebp - 0x3c]
push eax
push esi
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585f8
push eax
call 0x49e590
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x43], al
jne 0x4544df
call dword [0x4584b8]
test eax, eax
je 0x4545a4
push 0x20
lea ecx, [ebp - 0x3c]
push ecx
push eax
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585e8
push eax
call 0x48a411
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x43], al
je 0x4545a4
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 0x45452b
cmp byte [0x4651f0], al
je 0x454511
cmp byte [0x463069], al
je 0x454511
cmp dword [0x465370], eax
je 0x454516
mov eax, 0x311
push 1
push eax
push 0x20e
push 0
lea eax, [ebp + 0x44]
push eax
call esi
jmp 0x4545d6
cmp byte [0x4651f0], 0
mov esi, dword [ebp + 0x54]
je 0x45454a
cmp byte [0x463069], 0
je 0x45454a
xor eax, eax
cmp dword [0x465370], eax
je 0x45454f
mov eax, 0x311
push 0
push eax
push 0x20e
push 0
lea eax, [ebp + 0x44]
push eax
call dword [0x4584c8]
test eax, eax
je 0x454570
mov eax, dword [ebp + 0x54]
sub eax, esi
test eax, eax
jle 0x454579
push 1
push 0x1ff
jmp 0x4545c8
cmp byte [0x4651f0], 0
je 0x454595
cmp byte [0x463069], 0
je 0x454595
xor eax, eax
cmp dword [0x465370], eax
je 0x45459a
mov eax, 0x311
push 1
push eax
push 0x20e
jmp 0x4545ca
cmp byte [0x4651f0], 0
je 0x4545c0
cmp byte [0x463069], 0
je 0x4545c0
xor eax, eax
cmp dword [0x465370], eax
je 0x4545c5
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 0x454319
call dword [fcn.0045826c]
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x4545f4
mov dword [0x466150], eax
cmp dword [ebp + 0x78], esi
jne 0x45460f
cmp byte [ebp + 0x67], 0
jne 0x45460f
push esi
call dword [0x458264]
mov byte [ebp + 0x67], 1
jmp 0x4542a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004553be
add esp, 0xc
test eax, eax
jne 0x455329
push 5
call dword [0x458264]
jmp 0x4542a6
cmp eax, 0x25
je 0x4546b5
cmp eax, 0x27
je 0x4546b5
push 0x11
call dword [fcn.004584cc]
test ah, ah
jns 0x4546b5
cmp dword [ebp + 0x4c], 9
jne 0x454665
cmp byte [edi + 4], 0xc
jne 0x454665
push 0xfffffffffffffff0
push dword [edi]
call dword [fcn.004584d0]
test al, 4
jne 0x4546b5
test esi, esi
jne 0x45468a
xor eax, eax
mov al, byte [edi + 6]
mov ecx, ebx
push eax
call 0x47aeb9
mov esi, eax
test esi, esi
jne 0x45468a
push eax
mov ecx, ebx
call 0x47aeb9
mov esi, eax
test esi, esi
je 0x4546b5
cmp dword [ebp + 0x4c], 0x22
je 0x4546a6
cmp dword [ebp + 0x4c], 9
jne 0x4546a2
push 0x10
call dword [fcn.004584cc]
test ah, ah
jns 0x4546a6
xor al, al
jmp 0x4546aa
xor eax, eax
mov al, 1
push 1
push 1
push eax
push esi
jmp 0x454436
cmp dword [ebp + 0x4c], 0x1b
je 0x4546db
cmp dword [ebp + 0x4c], 9
je 0x4546db
cmp dword [ebp + 0x4c], 0x41
jne 0x45475e
push 0x11
call dword [fcn.004584cc]
test ah, ah
jns 0x45475e
call dword [0x4584b8]
mov esi, eax
test esi, esi
je 0x45475e
push esi
call 0x48395c
test eax, eax
pop ecx
je 0x45475e
push eax
call 0x47a8c3
mov ebx, eax
test ebx, ebx
pop ecx
je 0x45475e
push 0
push esi
mov ecx, ebx
call 0x47a864
test eax, eax
mov dword [ebp + 0x68], eax
je 0x45475e
cmp byte [eax + 4], 0xc
jne 0x45475e
cmp dword [ebp + 0x4c], 0x1b
je 0x454752
cmp dword [ebp + 0x4c], 0x41
je 0x454736
test byte [eax + 5], 0x80
je 0x45475e
push 0x4585e4
push 1
push 0xc2
jmp 0x454745
test byte [eax + 5], 2
jne 0x45475e
push 0xffffffffffffffff
push 0
push 0xb1
push dword [eax]
call dword [fcn.004584d4]
jmp 0x4542a6
mov ecx, ebx
call 0x47a5fe
jmp 0x4542a6
mov eax, dword [0x468eec]
xor ecx, ecx
cmp eax, ecx
je 0x454784
cmp dword [ebp + 0x4c], 0xd
jne 0x454773
push ecx
push ecx
jmp 0x45477c
cmp dword [ebp + 0x4c], 0x1b
jne 0x454784
push ecx
push 1
push 0x1116
push eax
jmp 0x454747
xor edi, edi
mov esi, 0x465928
mov eax, dword [esi]
test eax, eax
je 0x4547c8
cmp dword [eax], 0
je 0x4547bf
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 0x454d12
mov byte [0x4651ec], al
inc edi
cmp dword [0x468ee8], edi
je 0x4547d3
add esi, 4
cmp esi, 0x465ab4
jl 0x45478b
mov ecx, dword [ebp + 0x48]
mov eax, 0x312
cmp ecx, eax
ja 0x454928
je 0x45496b
mov eax, ecx
sub eax, 0x12
je 0x454913
sub eax, 0x39
je 0x454903
sub eax, 0xb5
je 0x4548d7
sub eax, 0x13
jne 0x454c92
xor esi, esi
cmp dword [ebp + 0x50], esi
jne 0x454c92
mov eax, dword [0x465208]
cmp dword [ebp + 0x44], eax
jne 0x454c92
cmp dword [0x466ed4], esi
je 0x454837
call fcn.004553ff
call dword [fcn.0045826c]
cmp dword [0x466100], esi
mov dword [0x466154], eax
je 0x454857
call fcn.00453b17
test al, al
je 0x454857
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x7c], esi
je 0x4542a6
cmp dword [ebp + 0x78], 1
jl 0x4542a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004553be
add esp, 0xc
test eax, eax
je 0x4542a6
cmp byte [ebp + 0x6c], 0
je 0x454890
mov byte [0x465357], 0
cmp byte [ebp + 0x6e], 0
je 0x45489c
dec dword [0x465358]
cmp byte [0x465350], 0
je 0x45538e
xor eax, eax
cmp dword [ebp + 0x78], eax
jle 0x4553b3
cmp dword [0x465358], eax
jne 0x4553b3
cmp dword [0x466100], eax
jne 0x4553b3
cmp dword [0x466ed4], eax
jmp 0x455366
mov eax, dword [ebp + 0x44]
cmp eax, dword [0x46520c]
jne 0x454c92
cmp dword [ebp + 0x4c], 0x1b
jne 0x454c92
push 0
push dword [0x465208]
call dword [fcn.004584dc]
jmp 0x4542a6
and dword [0x465340], 0
mov byte [ebp + 0x6d], 1
jmp 0x4542a6
push 0
push 0
push 6
mov ecx, 0x465c88
call fcn.0045dec3
jmp 0x4542a6
cmp ecx, 0x400
jb 0x454c92
cmp ecx, 0x401
jbe 0x454958
cmp ecx, 0x402
je 0x45496b
cmp ecx, 0x414
je 0x45496b
cmp ecx, 0x415
jne 0x454c92
mov eax, dword [ebp + 0x44]
test eax, eax
je 0x45496b
cmp eax, dword [0x465208]
jne 0x454c92
mov eax, ecx
xor esi, esi
xor edi, edi
sub eax, 0x401
je 0x454b47
dec eax
je 0x454b22
sub eax, 0x12
je 0x4549de
dec eax
je 0x4549d4
mov eax, dword [0x4641d0]
movzx eax, word [eax]
cmp dword [ebp + 0x4c], eax
jae 0x4542a6
mov eax, dword [ebp + 0x4c]
mov ecx, dword [eax*4 + 0x4663d0]
lea eax, [ebp + 0x34]
push eax
mov dword [ebp + 0x14], ecx
call fcn.00457ee7
test eax, eax
mov dword [ebp + 0x24], eax
je 0x4542a6
mov ecx, eax
mov al, byte [ecx + 0x18]
cmp al, 1
je 0x4549cd
cmp al, 3
je 0x4549cd
and dword [ebp + 0x34], edi
mov eax, dword [ecx]
jmp 0x454bb9
mov eax, dword [0x4660e8]
jmp 0x454bb9
push dword [ebp + 0x44]
call 0x47a8c3
mov ebx, eax
cmp ebx, esi
pop ecx
je 0x454c92
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 0x454a1f
mov dword [ebp + 0x60], ecx
mov ecx, 0x2af8
mov dword [ebp + 0xc], edx
mov dword [ebp + 0x10], ecx
cmp ecx, dword [ebx + 0xc]
jae 0x454a32
mov edx, dword [ebx + 0x14]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp + 0x68], ecx
jmp 0x454a35
mov dword [ebp + 0x68], esi
sub eax, 5
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x66], 0
je 0x454ad9
dec eax
je 0x454ac6
dec eax
je 0x454ab0
dec eax
je 0x454a9d
dec eax
je 0x454a8d
cmp dword [ebp + 0x68], esi
je 0x4542a6
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [ebp + 0x3c], ecx
jne 0x454a7d
test byte [eax + 5], 1
je 0x4542a6
mov ecx, ebx
call fcn.0047746c
jmp 0x4542a6
test byte [eax + 5], 4
jne 0x4542a6
mov byte [ebp + 0x66], 1
jmp 0x454b02
mov eax, dword [ebx + 0x2c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4542a6
jmp 0x454b02
mov eax, dword [ebx + 0x24]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4542a6
lea eax, [ebx + 0x32]
jmp 0x454ac1
mov eax, dword [ebx + 0x20]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4542a6
lea eax, [ebx + 0x31]
mov dword [ebp + 0x30], eax
jmp 0x454b02
mov eax, dword [ebx + 0x1c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x4542a6
lea eax, [ebx + 0x30]
jmp 0x454ac1
mov eax, dword [ebx + 0x28]
cmp eax, esi
mov edi, dword [ebx + 0x6c]
mov dword [ebp + 0x3c], eax
je 0x454b0a
cmp edi, esi
je 0x4542a6
xor esi, esi
push esi
push esi
push 0xffffffffffffffff
push edi
call dword [0x458300]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x454b0a
mov eax, dword [ebp + 0x3c]
jmp 0x454bb9
cmp edi, esi
je 0x4542a6
push edi
call dword [0x458304]
and dword [ebx + 0x6c], 0
jmp 0x4542a6
push dword [ebp + 0x50]
mov ecx, 0x465c88
call 0x47ed22
cmp eax, esi
mov dword [ebp + 0x28], eax
je 0x4542a6
mov eax, dword [eax + 0xc]
test eax, eax
je 0x4542a6
jmp 0x454bb9
mov eax, dword [ebp + 0x4c]
cmp eax, dword [0x466edc]
jae 0x4542a6
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 0x454b92
push dword [esi + 0x10]
push dword [esi + 0xc]
push eax
call fcn.004561f2
add esp, 0xc
test eax, eax
mov dword [ebp + 0x34], eax
je 0x4542a6
mov al, byte [esi + 0x20]
cmp al, 1
je 0x454b96
cmp al, 3
je 0x454b96
and dword [ebp + 0x34], 0
push dword [ebp + 0x50]
mov ecx, esi
call fcn.00455e56
mov eax, dword [esi + 8]
cmp byte [eax], 0
jne 0x4542a6
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 0x454bfc
cmp ecx, 0x14
jg 0x454d30
cmp al, 0xd5
je 0x454bfc
cmp al, 0xc1
je 0x454bfc
cmp al, 0xcf
je 0x454bfc
cmp al, 0xd0
je 0x454bfc
cmp al, 0xcb
je 0x454bfc
cmp al, 0xcc
je 0x454bfc
cmp al, 0xcd
je 0x454bfc
cmp al, 0xce
jne 0x454d30
mov eax, dword [ebp + 0x48]
sub eax, 0x401
je 0x454d22
dec eax
je 0x454c5a
sub eax, 0x12
je 0x454c4e
dec eax
je 0x454c3a
push dword [ebp + 0x24]
mov ecx, dword [ebp + 0x14]
call fcn.00457e02
test al, al
jne 0x454c32
push dword [ebp + 0x24]
call fcn.00457e3f
pop ecx
jmp 0x4542a6
mov eax, dword [ebp + 0x24]
jmp 0x454d25
cmp byte [0x4660e4], 0
jne 0x4542a6
xor esi, esi
jmp 0x454d28
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x454c47
cmp byte [eax], 0
jmp 0x454c41
mov eax, dword [ebp + 0x28]
mov esi, dword [eax + 0x18]
mov eax, dword [ebp + 0x4c]
cmp eax, 0x63
jae 0x454d1e
mov ebx, dword [eax*4 + 0x465928]
test ebx, ebx
jne 0x454d28
cmp dword [ebp + 0x44], ebx
je 0x454d28
mov eax, dword [0x465208]
cmp dword [ebp + 0x44], eax
je 0x454d28
call dword [0x4584bc]
mov esi, eax
test esi, esi
je 0x4552df
push 0
push esi
call dword [0x4584c0]
cmp eax, dword [0x465c44]
jne 0x4552df
push 0x20
lea eax, [ebp - 0x3c]
push eax
push esi
call dword [0x4584c4]
lea eax, [ebp - 0x3c]
push 0x4585f8
push eax
call 0x49e590
test eax, eax
pop ecx
pop ecx
jne 0x4552df
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 0x4552d8
cmp dword [0x46537c], 0
je 0x454d12
push 0x465b28
call dword [0x458268]
mov byte [0x4651ec], 0
jmp 0x4542a6
xor ebx, ebx
jmp 0x454d28
mov eax, dword [ebp + 0x2c]
mov esi, dword [eax + 0x14]
cmp esi, dword [0x465164]
jge 0x454d37
test edi, edi
jmp 0x454b0c
cmp dword [0x466100], 0
mov byte [ebp + 0x6f], 1
jne 0x454d6f
cmp dword [0x466ed4], 0
jne 0x454d6f
cmp byte [0x465350], 0
je 0x454d6f
push 9
push dword [0x465208]
call dword [fcn.0045853c]
test eax, eax
je 0x454d6f
mov byte [0x465350], 0
mov eax, dword [ebp + 0x48]
cmp eax, 0x402
je 0x454dc7
cmp eax, 0x413
jbe 0x454d87
cmp eax, 0x415
jbe 0x454df2
cmp eax, 0x401
mov ecx, dword [0x4660d8]
mov dword [0x4660dc], ecx
mov ecx, dword [0x466110]
mov dword [0x466114], ecx
jne 0x454daf
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x454db5
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + 4]
mov dword [0x4660d8], eax
call dword [fcn.0045826c]
mov dword [0x466110], eax
jmp 0x454df2
mov eax, dword [ebp + 0x28]
mov edi, 0x105
push edi
push dword [eax]
push 0x465ecc
call 0x481879
mov eax, dword [ebp + 0x28]
mov eax, dword [eax + 0x14]
push edi
push dword [eax]
push 0x465fd1
call 0x481879
add esp, 0x18
mov ecx, dword [0x465b20]
push 0x80
call fcn.0044a939
push eax
lea eax, [ebp - 0xbc]
push eax
call 0x481879
push 0xc8
lea eax, [ebp - 0x184]
push 0x465138
push eax
call 0x49e250
push dword [ebp + 0x20]
xor edi, edi
inc edi
push edi
push 0
push esi
call fcn.004540ee
add esp, 0x28
push 0
mov ecx, 0x465c88
call fcn.00454019
cmp dword [0x46537c], 0
je 0x454e57
push 0x465b28
call dword [0x458268]
call dword [fcn.0045826c]
mov dword [0x466154], eax
mov dword [0x466150], eax
mov eax, dword [ebp + 0x48]
sub eax, 0x401
je 0x45522c
dec eax
je 0x455201
sub eax, 0x12
je 0x454f1c
dec eax
je 0x454eb3
mov ecx, dword [ebp + 0x14]
mov al, byte [ecx + 0x12]
cmp al, 0x9e
je 0x454e96
cmp al, 0x9f
jne 0x454e9e
mov eax, dword [ebp + 0x50]
mov dword [0x465170], eax
mov eax, dword [ebp + 0x34]
push dword [ebp + 0x24]
mov dword [0x4651d4], eax
call fcn.00457fdc
jmp 0x45523c
call dword [0x4584e0]
test eax, eax
je 0x454ee6
mov esi, dword [0x458550]
push edi
call esi
test eax, eax
jne 0x454ede
push 0xf
call esi
test eax, eax
jne 0x454ede
mov dword [0x465170], 2
jmp 0x454eed
mov dword [0x465170], edi
jmp 0x454eed
and dword [0x465170], 0
push dword [0x465170]
mov ecx, dword [0x465b20]
call fcn.0044a4f8
mov ecx, dword [0x4660e8]
mov byte [0x4660e4], 1
call fcn.0044e55f
mov byte [0x4660e4], 0
jmp 0x45523c
mov ecx, dword [ebp + 0x1c]
push 5
pop edi
cmp ecx, edi
mov byte [ebp - 8], 0
je 0x4550fb
jbe 0x455074
cmp ecx, 8
jbe 0x45500d
cmp ecx, 9
jne 0x455074
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 0x454ffa
cmp eax, 1
jne 0x454f8a
push 0x465174
push esi
mov ecx, ebx
call fcn.00477e16
movzx eax, byte [esi + 4]
sub eax, 9
je 0x454fe5
dec eax
je 0x454fda
dec eax
jne 0x454ffa
cmp dword [0x46516c], 1
jne 0x454fad
push 0
push 9
push 0x110a
jmp 0x454fd0
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 0x454ff7
push 1
push 0xffffffffffffffff
push 0x100c
jmp 0x454fee
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 0x481618
pop ecx
pop ecx
jmp 0x45514e
cmp ecx, 8
mov esi, dword [ebp + 0x68]
mov dword [0x46516c], 1
jne 0x455146
mov eax, dword [ebp + 0xc]
mov dword [0x465174], eax
push dword [ebp + 0x60]
mov ecx, dword [0x465b20]
call fcn.0044a4f8
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 0x455168
mov byte [eax], 1
jmp 0x455172
mov esi, dword [ebp + 0x68]
mov al, byte [esi + 4]
cmp al, 0xa
je 0x4550a5
cmp al, 0x15
jne 0x4550f3
mov eax, dword [ebp + 0x58]
mov dword [0x465174], eax
mov eax, dword [ebp + 0x5c]
mov dword [0x465178], eax
push dword [ebx]
push 0x465174
call 0x481618
pop ecx
pop ecx
mov ecx, dword [ebp + 0x1c]
jmp 0x4550f3
cmp cl, 0x49
jne 0x4550f3
test ch, 1
lea eax, [ebp - 8]
je 0x4550b8
mov byte [ebp - 8], 0x53
jmp 0x4550c1
test ch, 2
je 0x4550c4
mov byte [ebp - 8], 0x73
lea eax, [ebp - 7]
test ch, 4
je 0x4550ce
mov byte [eax], 0x46
jmp 0x4550d6
test ch, 8
je 0x4550d7
mov byte [eax], 0x66
inc eax
test ch, 0x10
je 0x4550e1
mov byte [eax], 0x43
jmp 0x4550e9
test ch, 0x20
je 0x4550ea
mov byte [eax], 0x63
inc eax
push 0x49
pop ecx
mov byte [eax], 0
mov dword [ebp + 0x1c], ecx
mov dword [0x46516c], ecx
jmp 0x45513d
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 0x481618
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 0x45502b
cmp ecx, edi
je 0x45502b
mov ecx, dword [0x465b20]
push 1
push 0
push 0xffffffffffffffff
lea eax, [ebp - 8]
push eax
call fcn.0044a192
jmp 0x455039
cmp byte [ebp + 0x66], 0
je 0x455172
or byte [esi + 5], 4
mov ecx, dword [ebp + 0x3c]
call fcn.0044e55f
mov eax, dword [ebp + 8]
mov ebx, dword [eax*4 + 0x465928]
test ebx, ebx
je 0x45523c
cmp edi, dword [ebx + 0xc]
jae 0x45519c
mov ecx, dword [ebx + 0x14]
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*4]
jmp 0x45519e
xor ecx, ecx
mov eax, dword [ebp + 0x1c]
sub eax, 5
mov dword [ebp + 0x68], ecx
je 0x4551d5
dec eax
je 0x4551cf
dec eax
je 0x4551c9
dec eax
je 0x4551c3
dec eax
je 0x45523c
test ecx, ecx
je 0x45523c
and byte [ecx + 5], 0xfb
jmp 0x45523c
mov byte [ebx + 0x32], 0
jmp 0x45523c
mov byte [ebx + 0x31], 0
jmp 0x45523c
mov byte [ebx + 0x30], 0
jmp 0x45523c
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x4551e7
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 0x45523c
test ebx, ebx
je 0x45521f
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.0044e55f
jmp 0x45523c
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x2c]
mov dword [0x4651d4], eax
call fcn.00456114
push 1
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x184]
push eax
call fcn.00453f37
add esp, 0xc
cmp dword [ebp + 0x7c], 0
jne 0x45527e
mov byte [0x4651f0], 1
mov byte [0x4651f2], 0
mov byte [0x4651f1], 1
mov dword [0x465164], 0x80000000
jmp 0x4542a6
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.004553be
add esp, 0xc
test eax, eax
je 0x4552a0
mov byte [ebp + 0x6d], 1
mov byte [ebp + 0x38], 1
jmp 0x4542a6
cmp byte [ebp + 0x6e], 0
je 0x4542a6
cmp byte [0x465350], 0
jne 0x4542a6
push 0
push 0xa
push 9
push dword [0x465208]
call dword [0x458528]
test eax, eax
setne al
mov byte [0x465350], al
jmp 0x4542a6
mov byte [0x4651ec], 0
mov eax, dword [0x465218]
test eax, eax
je 0x455301
lea ecx, [ebp + 0x44]
push ecx
push eax
push dword [0x465208]
call dword [0x4584ec]
test eax, eax
jne 0x4542a6
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 0x454d12
cmp byte [ebp + 0x6c], 0
je 0x455336
mov byte [0x465357], 0
cmp byte [ebp + 0x6e], 0
je 0x455342
dec dword [0x465358]
cmp byte [0x465350], 0
je 0x455383
cmp dword [ebp + 0x78], esi
jle 0x4553b3
cmp dword [0x465358], esi
jne 0x4553b3
cmp dword [0x466100], esi
jne 0x4553b3
cmp dword [0x466ed4], esi
jne 0x4553b3
push 9
push dword [0x465208]
call dword [fcn.0045853c]
test eax, eax
je 0x4553b3
mov byte [0x465350], 0
jmp 0x4553b3
cmp dword [0x465358], esi
je 0x4553b3
push esi
jmp 0x455399
cmp dword [0x465358], 0
je 0x4553b3
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