Function at 0x46ba6e
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
lea ebp, [esp - 0x70]
sub esp, 0x130
push ebx
xor ebx, ebx
push esi
xor esi, esi
inc ebx
cmp dword [ebp + 0x7c], 2
push edi
mov byte [ebp + 0x67], 0
jne 0x46baa0
cmp byte [0x4673a5], 0
mov dword [ebp + 0x7c], ebx
jne 0x46baa0
mov byte [0x4673a5], bl
mov byte [ebp + 0x67], bl
cmp dword [0x4681f0], esi
je 0x46bab3
push esi
mov ecx, 0x4681d8
call 0x4a134a
cmp dword [ebp + 0x78], 0x8000012f
push 0xa
pop edi
jne 0x46bac8
mov dword [ebp + 0x78], edi
mov byte [ebp + 0x38], 1
jmp 0x46bad6
cmp dword [ebp + 0x78], 5
setle byte [ebp + 0x38]
cmp byte [ebp + 0x38], 0
je 0x46badb
mov dword [ebp + 0x18], esi
jmp 0x46bae4
call dword [fcn.0045a26c]
mov dword [ebp + 0x18], eax
cmp dword [0x4693dc], esi
je 0x46baf1
call fcn.0046cb89
cmp dword [0x468158], esi
mov byte [ebp + 0x6f], 0
je 0x46bb0a
call fcn.0046b8ec
test al, al
je 0x46bb0a
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x78], esi
jle 0x46bcdf
cmp dword [ebp + 0x7c], ebx
jne 0x46bcdf
inc dword [0x4673b4]
cmp byte [0x46739f], 0
mov byte [ebp + 0x66], 1
jne 0x46bb49
push esi
push edi
push 9
push dword [0x467254]
call dword [0x45a4bc]
test eax, eax
setne al
mov byte [0x46739f], al
mov ebx, dword [ebp + 0x78]
mov byte [ebp + 0x63], 0
mov byte [ebp + 0x65], 0
mov esi, dword [fcn.0045a26c]
call esi
cmp dword [ebp + 0x78], 0
mov edi, eax
jle 0x46bce8
cmp byte [ebp + 0x65], 0
jne 0x46bce8
cmp byte [0x4673a5], 0
jne 0x46bcf5
call fcn.0046ba0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0
push 0
lea eax, [ebp + 0x40]
push eax
call dword [0x45a4c0]
cmp eax, 0xffffffff
je 0x46bb54
call esi
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x46bbb6
mov dword [0x4681a8], eax
cmp dword [0x467b64], 0
je 0x46bbe3
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp + 0x40]
push eax
push dword [ebp + 0x4c]
push dword [ebp + 0x48]
push dword [ebp + 0x44]
push dword [ebp + 0x40]
call fcn.0046b53d
add esp, 0x18
test al, al
jne 0x46bb54
cmp dword [0x46b3fc], 0
je 0x46c061
mov eax, dword [ebp + 0x40]
test eax, eax
je 0x46c061
cmp eax, dword [0x467254]
je 0x46c061
cmp dword [ebp + 0x44], 0x414
je 0x46c061
cmp dword [ebp + 0x44], 0x402
je 0x46c061
cmp dword [ebp + 0x44], 0x100
jne 0x46bffe
mov eax, dword [ebp + 0x48]
cmp eax, 0x22
je 0x46bc4e
cmp eax, 0x21
je 0x46bc4e
cmp eax, 9
je 0x46bc4e
cmp eax, 0x25
je 0x46bc4e
cmp eax, 0x27
jne 0x46bf2f
call dword [0x45a4c4]
mov esi, eax
test esi, esi
je 0x46bf2f
push esi
call 0x49957f
test eax, eax
pop ecx
je 0x46bf2f
push eax
call 0x4902c7
mov ebx, eax
test ebx, ebx
pop ecx
je 0x46bf2f
cmp byte [ebx + 0x54], 0
je 0x46bf2f
push 0
push esi
mov ecx, ebx
call 0x490268
mov edi, eax
test edi, edi
mov dword [ebp + 0x68], edi
je 0x46bf2f
mov al, byte [edi + 4]
cmp al, 0xf
je 0x46bf2f
xor esi, esi
cmp al, 0x13
mov eax, dword [ebp + 0x48]
jne 0x46beaf
cmp eax, 0x25
mov esi, edi
je 0x46bcc7
cmp eax, 0x27
jne 0x46beaf
cmp eax, 0x27
sete al
push 0
push 0
push eax
push edi
mov ecx, ebx
call 0x493abf
jmp 0x46bb54
mov byte [ebp + 0x66], 0
jmp 0x46bb49
cmp byte [0x4673a5], 0
je 0x46be2c
call dword [0x45a4c8]
mov esi, eax
test esi, esi
je 0x46be2c
push 0
push esi
call dword [0x45a4cc]
cmp eax, dword [0x467c9c]
jne 0x46be2c
cmp dword [0x4673d8], 0
je 0x46bd4b
push 0x20
lea eax, [ebp - 0x40]
push eax
push esi
call dword [0x45a4d0]
lea eax, [ebp - 0x40]
push 0x45a608
push eax
call 0x4b55f0
neg eax
sbb al, al
pop ecx
inc al
pop ecx
mov byte [ebp + 0x17], al
jne 0x46bd92
call dword [0x45a4c4]
test eax, eax
je 0x46be2c
push 0x20
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [0x45a4d0]
lea eax, [ebp - 0x40]
push 0x45a5f8
push eax
call 0x4a0102
test eax, eax
pop ecx
pop ecx
je 0x46bd92
lea eax, [ebp - 0x40]
push 0x45a5e8
push eax
call 0x4a0102
test eax, eax
pop ecx
pop ecx
jne 0x46be2c
mov esi, dword [0x45a4d4]
xor eax, eax
push eax
push 0x1ff
push eax
push eax
lea eax, [ebp + 0x40]
push eax
call esi
test eax, eax
jne 0x46bdd1
push 1
call fcn.0046ba0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
push 0
lea eax, [ebp + 0x40]
push eax
call esi
jmp 0x46be50
mov esi, dword [ebp + 0x50]
push 0
call fcn.0046ba0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
push 0
lea eax, [ebp + 0x40]
push eax
call dword [0x45a4d4]
test eax, eax
push 1
je 0x46be0a
mov eax, dword [ebp + 0x50]
sub eax, esi
test eax, eax
jle 0x46be11
push 0x1ff
jmp 0x46be42
call fcn.0046ba0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0x20e
jmp 0x46be44
push 1
call fcn.0046ba0c
neg eax
sbb eax, eax
and eax, 0xfffffcef
add eax, 0x311
push eax
push 0
lea eax, [ebp + 0x40]
push 0
push eax
call dword [0x45a4d4]
xor esi, esi
cmp eax, esi
jne 0x46bbb6
call dword [fcn.0045a26c]
mov ecx, eax
sub ecx, edi
cmp ecx, 3
jbe 0x46be6e
mov dword [0x4681a8], eax
cmp dword [ebp + 0x78], esi
jne 0x46be89
cmp byte [ebp + 0x63], 0
jne 0x46be89
push esi
call dword [fcn.0045a264]
mov byte [ebp + 0x63], 1
jmp 0x46bb54
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.0046cb48
add esp, 0xc
test eax, eax
jne 0x46caff
push 5
call dword [fcn.0045a264]
jmp 0x46bb54
cmp eax, 0x25
je 0x46bf2f
cmp eax, 0x27
je 0x46bf2f
push 0x11
call dword [fcn.0045a4d8]
test ah, ah
jns 0x46bf2f
cmp dword [ebp + 0x48], 9
jne 0x46bedf
cmp byte [edi + 4], 0xc
jne 0x46bedf
push 0xfffffffffffffff0
push dword [edi]
call dword [fcn.0045a4dc]
test al, 4
jne 0x46bf2f
test esi, esi
jne 0x46bf04
xor eax, eax
mov al, byte [edi + 6]
mov ecx, ebx
push eax
call 0x4908bd
mov esi, eax
test esi, esi
jne 0x46bf04
push eax
mov ecx, ebx
call 0x4908bd
mov esi, eax
test esi, esi
je 0x46bf2f
cmp dword [ebp + 0x48], 0x22
je 0x46bf20
cmp dword [ebp + 0x48], 9
jne 0x46bf1c
push 0x10
call dword [fcn.0045a4d8]
test ah, ah
jns 0x46bf20
xor al, al
jmp 0x46bf24
xor eax, eax
mov al, 1
push 1
push 1
push eax
push esi
jmp 0x46bcd3
cmp dword [ebp + 0x48], 0x1b
je 0x46bf55
cmp dword [ebp + 0x48], 9
je 0x46bf55
cmp dword [ebp + 0x48], 0x41
jne 0x46bfd8
push 0x11
call dword [fcn.0045a4d8]
test ah, ah
jns 0x46bfd8
call dword [0x45a4c4]
mov esi, eax
test esi, esi
je 0x46bfd8
push esi
call 0x49957f
test eax, eax
pop ecx
je 0x46bfd8
push eax
call 0x4902c7
mov ebx, eax
test ebx, ebx
pop ecx
je 0x46bfd8
push 0
push esi
mov ecx, ebx
call 0x490268
test eax, eax
mov dword [ebp + 0x68], eax
je 0x46bfd8
cmp byte [eax + 4], 0xc
jne 0x46bfd8
cmp dword [ebp + 0x48], 0x1b
je 0x46bfcc
cmp dword [ebp + 0x48], 0x41
je 0x46bfb0
test byte [eax + 5], 0x80
je 0x46bfd8
push 0x45a5e4
push 1
push 0xc2
jmp 0x46bfbf
test byte [eax + 5], 2
jne 0x46bfd8
push 0xffffffffffffffff
push 0
push 0xb1
push dword [eax]
call dword [fcn.0045a4e0]
jmp 0x46bb54
mov ecx, ebx
call 0x48fffd
jmp 0x46bb54
mov eax, dword [0x46b400]
xor ecx, ecx
cmp eax, ecx
je 0x46bffe
cmp dword [ebp + 0x48], 0xd
jne 0x46bfed
push ecx
push ecx
jmp 0x46bff6
cmp dword [ebp + 0x48], 0x1b
jne 0x46bffe
push ecx
push 1
push 0x1116
push eax
jmp 0x46bfc1
xor edi, edi
mov esi, 0x467980
mov eax, dword [esi]
test eax, eax
je 0x46c056
cmp dword [eax], 0
je 0x46c04d
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 1
mov eax, dword [ebp + 0x44]
mov ecx, dword [0x465108]
mov dword [ecx + 0xbc], eax
lea eax, [ebp + 0x40]
push eax
mov eax, dword [esi]
push dword [eax]
call dword [0x45a4e4]
test eax, eax
jne 0x46c16b
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 0
inc edi
cmp dword [0x46b3fc], edi
je 0x46c061
add esi, 4
cmp esi, 0x467b0c
jl 0x46c005
mov ecx, dword [ebp + 0x44]
mov eax, 0x312
cmp ecx, eax
ja 0x46c1cd
je 0x46c210
mov eax, ecx
sub eax, 0x12
je 0x46c1b8
sub eax, 0x39
je 0x46c1a8
sub eax, 0xb5
je 0x46c17c
sub eax, 0x13
jne 0x46c545
xor esi, esi
cmp dword [ebp + 0x4c], esi
jne 0x46c545
mov eax, dword [0x467254]
cmp dword [ebp + 0x40], eax
jne 0x46c545
cmp dword [0x4693dc], esi
je 0x46c0c5
call fcn.0046cb89
cmp dword [0x468158], esi
je 0x46c0da
call fcn.0046b8ec
test al, al
je 0x46c0da
mov byte [ebp + 0x6f], 1
cmp dword [ebp + 0x7c], esi
je 0x46bb54
cmp dword [ebp + 0x78], 1
jl 0x46bb54
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.0046cb48
add esp, 0xc
test eax, eax
je 0x46bb54
cmp byte [ebp + 0x67], 0
je 0x46c113
mov byte [0x4673a5], 0
cmp byte [ebp + 0x66], 0
je 0x46c160
dec dword [0x4673b4]
xor eax, eax
cmp dword [ebp + 0x78], eax
jle 0x46c160
cmp dword [0x4673b4], eax
jne 0x46c160
cmp dword [0x468158], eax
jne 0x46c160
cmp dword [0x4693dc], eax
jne 0x46c160
cmp byte [0x46739f], 0
je 0x46c160
push 9
push dword [0x467254]
call dword [fcn.0045a544]
test eax, eax
je 0x46c160
mov byte [0x46739f], 0
mov al, byte [ebp + 0x6f]
pop edi
pop esi
pop ebx
add ebp, 0x70
leave
ret
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 0
jmp 0x46bb54
mov eax, dword [ebp + 0x40]
cmp eax, dword [0x467258]
jne 0x46c545
cmp dword [ebp + 0x48], 0x1b
jne 0x46c545
push 0
push dword [0x467254]
call dword [fcn.0045a4e8]
jmp 0x46bb54
and dword [0x467390], 0
mov byte [ebp + 0x65], 1
jmp 0x46bb54
push 0
push 0
push 6
mov ecx, 0x467ce0
call fcn.00475999
jmp 0x46bb54
cmp ecx, 0x400
jb 0x46c545
cmp ecx, 0x401
jbe 0x46c1fd
cmp ecx, 0x402
je 0x46c210
cmp ecx, 0x414
je 0x46c210
cmp ecx, 0x415
jne 0x46c545
mov eax, dword [ebp + 0x40]
test eax, eax
je 0x46c210
cmp eax, dword [0x467254]
jne 0x46c545
mov eax, ecx
xor esi, esi
xor edi, edi
sub eax, 0x401
je 0x46c3ec
dec eax
je 0x46c3c7
sub eax, 0x12
je 0x46c283
dec eax
je 0x46c279
mov eax, dword [0x466200]
movzx eax, word [eax]
cmp dword [ebp + 0x48], eax
jae 0x46bb54
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax*4 + 0x468428]
lea eax, [ebp + 0x34]
push eax
mov dword [ebp + 0x10], ecx
call fcn.0046f642
test eax, eax
mov dword [ebp + 0x1c], eax
je 0x46bb54
mov ecx, eax
mov al, byte [ecx + 0x18]
cmp al, 1
je 0x46c272
cmp al, 3
je 0x46c272
and dword [ebp + 0x34], edi
mov eax, dword [ecx]
jmp 0x46c468
mov eax, dword [0x468140]
jmp 0x46c468
push dword [ebp + 0x40]
call 0x4902c7
mov ebx, eax
cmp ebx, esi
pop ecx
je 0x46c545
mov eax, dword [ebx + 8]
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x4c]
mov dword [ebp + 8], eax
movzx eax, cx
shr ecx, 0x10
cmp eax, 8
mov dword [ebp + 0x5c], edx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0xc], ecx
jne 0x46c2c4
mov dword [ebp + 0x5c], ecx
mov ecx, 0x2af8
mov dword [ebp + 4], edx
mov dword [ebp + 0xc], ecx
cmp ecx, dword [ebx + 0xc]
jae 0x46c2d7
mov edx, dword [ebx + 0x14]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp + 0x68], ecx
jmp 0x46c2da
mov dword [ebp + 0x68], esi
sub eax, 5
mov dword [ebp + 0x30], esi
mov byte [ebp + 0x64], 0
je 0x46c37e
dec eax
je 0x46c36b
dec eax
je 0x46c355
dec eax
je 0x46c342
dec eax
je 0x46c332
cmp dword [ebp + 0x68], esi
je 0x46bb54
mov eax, dword [ebp + 0x68]
mov ecx, dword [eax + 0xc]
test ecx, ecx
mov dword [ebp + 0x3c], ecx
jne 0x46c322
test byte [eax + 5], 1
je 0x46bb54
mov ecx, ebx
call fcn.0048ce56
jmp 0x46bb54
test byte [eax + 5], 4
jne 0x46bb54
mov byte [ebp + 0x64], 1
jmp 0x46c3a7
mov eax, dword [ebx + 0x2c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x46bb54
jmp 0x46c3a7
mov eax, dword [ebx + 0x24]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x46bb54
lea eax, [ebx + 0x32]
jmp 0x46c366
mov eax, dword [ebx + 0x20]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x46bb54
lea eax, [ebx + 0x31]
mov dword [ebp + 0x30], eax
jmp 0x46c3a7
mov eax, dword [ebx + 0x1c]
cmp eax, esi
mov dword [ebp + 0x3c], eax
je 0x46bb54
lea eax, [ebx + 0x30]
jmp 0x46c366
mov eax, dword [ebx + 0x28]
cmp eax, esi
mov edi, dword [ebx + 0x6c]
mov dword [ebp + 0x3c], eax
je 0x46c3af
cmp edi, esi
je 0x46bb54
xor esi, esi
push esi
push esi
push 0xffffffffffffffff
push edi
call dword [0x45a300]
cmp eax, esi
mov dword [ebp + 0x5c], eax
je 0x46c3af
mov eax, dword [ebp + 0x3c]
jmp 0x46c468
cmp edi, esi
je 0x46bb54
push edi
call dword [0x45a304]
and dword [ebx + 0x6c], 0
jmp 0x46bb54
push dword [ebp + 0x4c]
mov ecx, 0x467ce0
call 0x494926
cmp eax, esi
mov dword [ebp + 0x2c], eax
je 0x46bb54
mov eax, dword [eax + 0xc]
test eax, eax
je 0x46bb54
jmp 0x46c468
mov eax, dword [ebp + 0x48]
cmp eax, dword [0x4693e4]
jae 0x46bb54
mov eax, dword [0x4693e0]
mov ecx, dword [ebp + 0x48]
mov esi, dword [eax + ecx*4]
xor eax, eax
mov al, byte [esi + 0x20]
test al, al
mov dword [ebp + 0x28], esi
je 0x46c437
push dword [esi + 0x10]
push dword [esi + 0xc]
push eax
call fcn.0046d93d
add esp, 0xc
test eax, eax
mov dword [ebp + 0x34], eax
je 0x46bb54
mov al, byte [esi + 0x20]
cmp al, 1
je 0x46c43b
cmp al, 3
je 0x46c43b
and dword [ebp + 0x34], 0
push dword [ebp + 0x4c]
mov ecx, esi
call fcn.0046d5bb
mov eax, dword [esi + 8]
cmp byte [eax], 0
jne 0x46bb54
mov eax, dword [ebp + 0x28]
cmp byte [eax + 0x2a], 0
sete cl
dec cl
and ecx, dword [ebp + 0x4c]
mov byte [0x468170], cl
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [0x4673b8]
mov ecx, dword [0x46507c]
cmp edx, ecx
mov al, byte [eax]
mov byte [ebp + 0x24], al
jl 0x46c4af
add ecx, 2
cmp edx, ecx
jge 0x46c5ee
cmp al, 0xd6
je 0x46c4af
cmp al, 0xc2
je 0x46c4af
cmp al, 0xd0
je 0x46c4af
cmp al, 0xd1
je 0x46c4af
cmp al, 0xcc
je 0x46c4af
cmp al, 0xcd
je 0x46c4af
cmp al, 0xce
je 0x46c4af
cmp al, 0xcf
jne 0x46c5ee
mov eax, dword [ebp + 0x44]
sub eax, 0x401
je 0x46c5de
dec eax
je 0x46c50d
sub eax, 0x12
je 0x46c501
dec eax
je 0x46c4ed
push dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x10]
call fcn.0046f55d
test al, al
jne 0x46c4e5
push dword [ebp + 0x1c]
call fcn.0046f59a
pop ecx
jmp 0x46bb54
mov eax, dword [ebp + 0x1c]
jmp 0x46c5e1
cmp byte [0x46813c], 0
jne 0x46bb54
xor esi, esi
jmp 0x46c5e4
mov eax, dword [ebp + 0x30]
test eax, eax
je 0x46c4fa
cmp byte [eax], 0
jmp 0x46c4f4
mov eax, dword [ebp + 0x2c]
mov esi, dword [eax + 0x18]
mov eax, dword [ebp + 0x48]
cmp eax, 0x63
jae 0x46c5da
mov ebx, dword [eax*4 + 0x467980]
test ebx, ebx
jne 0x46c5e4
cmp dword [ebp + 0x40], ebx
je 0x46c5e4
mov eax, dword [0x467254]
cmp dword [ebp + 0x40], eax
je 0x46c5e4
call dword [0x45a4c8]
mov esi, eax
test esi, esi
je 0x46caaa
push 0
push esi
call dword [0x45a4cc]
cmp eax, dword [0x467c9c]
jne 0x46caaa
push 0x20
lea eax, [ebp - 0x40]
push eax
push esi
call dword [0x45a4d0]
lea eax, [ebp - 0x40]
push 0x45a608
push eax
call 0x4b55f0
test eax, eax
pop ecx
pop ecx
jne 0x46caaa
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 1
mov eax, dword [ebp + 0x44]
mov ecx, dword [0x465108]
mov dword [ecx + 0xbc], eax
lea eax, [ebp + 0x40]
push eax
push esi
call dword [0x45a4e4]
test eax, eax
je 0x46ca9e
cmp dword [0x4673d8], 0
je 0x46c16b
push 0x467b80
call dword [0x45a268]
jmp 0x46c16b
xor ebx, ebx
jmp 0x46c5e4
mov eax, dword [ebp + 0x28]
mov esi, dword [eax + 0x14]
mov eax, dword [0x465108]
cmp esi, dword [eax + 0x2c]
jge 0x46c5f5
test edi, edi
jmp 0x46c3b1
cmp dword [ebp + 0x44], 0x402
mov byte [ebp + 0x6f], 1
je 0x46c652
cmp dword [ebp + 0x44], 0x413
jbe 0x46c614
cmp dword [ebp + 0x44], 0x415
jbe 0x46c67d
cmp dword [ebp + 0x44], 0x401
mov eax, dword [0x468130]
mov dword [0x468134], eax
mov eax, dword [0x468168]
mov dword [0x46816c], eax
jne 0x46c63a
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x46c640
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 4]
mov dword [0x468130], eax
call dword [fcn.0045a26c]
mov dword [0x468168], eax
jmp 0x46c67d
mov eax, dword [ebp + 0x2c]
mov edi, 0x105
push edi
push dword [eax]
push 0x467f24
call 0x497451
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax + 0x14]
push edi
push dword [eax]
push 0x468029
call 0x497451
add esp, 0x18
mov ecx, dword [0x467b78]
xor edi, edi
push 0x80
inc edi
push edi
call fcn.0045fa61
push eax
lea eax, [ebp - 0xc0]
push eax
call 0x497451
push dword [ebp + 0x24]
push edi
push 0
push esi
call fcn.0046b806
mov esi, dword [0x465108]
add esp, 0x1c
call dword [fcn.0045a26c]
mov dword [0x4681ac], eax
mov dword [0x4681a8], eax
mov eax, dword [ebp + 0x44]
sub eax, 0x401
je 0x46ca50
dec eax
je 0x46ca2b
sub eax, 0x12
je 0x46c76b
dec eax
je 0x46c70e
mov ecx, dword [ebp + 0x10]
mov al, byte [ecx + 0x12]
cmp al, 0x9c
jb 0x46c6f8
cmp al, 0x9f
ja 0x46c6f8
mov eax, dword [ebp + 0x4c]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0x34]
push dword [ebp + 0x1c]
mov dword [esi + 0xa0], eax
call fcn.0046f737
jmp 0x46ca61
call dword [0x45a4ec]
test eax, eax
je 0x46c738
mov edi, dword [0x45a550]
push 1
call edi
test eax, eax
jne 0x46c733
push 0xf
call edi
test eax, eax
jne 0x46c733
push 2
pop eax
jmp 0x46c73a
xor eax, eax
inc eax
jmp 0x46c73a
xor eax, eax
push 0x18
push 0
mov dword [esi + 0x38], eax
mov ecx, dword [0x467b78]
push eax
call fcn.0045f81f
mov ecx, dword [0x468140]
mov byte [0x46813c], 1
call fcn.004641a4
mov byte [0x46813c], 0
jmp 0x46ca61
mov ecx, dword [ebp + 0x20]
push 5
pop edi
cmp ecx, edi
mov byte [ebp - 0xc], 0
je 0x46c932
jbe 0x46c8b4
cmp ecx, 8
jbe 0x46c859
cmp ecx, 9
jne 0x46c8b4
xor ecx, ecx
xor eax, eax
cmp dword [ebp + 0x5c], eax
lea edi, [esi + 0x3c]
sete cl
cmp dword [ebp + 0x68], eax
mov dword [ebp + 0x5c], eax
lea ecx, [ecx + ecx + 1]
mov dword [esi + 0x34], ecx
mov ecx, dword [ebp + 0x54]
mov dword [edi], ecx
mov ecx, dword [ebp + 0x58]
mov dword [edi + 4], ecx
je 0x46c84a
cmp dword [esi + 0x34], 1
jne 0x46c7d1
push edi
push dword [ebp + 0x68]
mov ecx, ebx
call fcn.0048d815
mov eax, dword [ebp + 0x68]
movzx eax, byte [eax + 4]
sub eax, 9
je 0x46c832
dec eax
je 0x46c827
dec eax
jne 0x46c84a
cmp dword [esi + 0x34], 1
jne 0x46c7f4
push 0
push 9
push 0x110a
jmp 0x46c81a
mov eax, dword [ebp + 0x54]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0x58]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
mov eax, dword [ebp + 0x68]
push dword [eax]
call dword [0x45a520]
lea eax, [ebp - 0x1c]
push eax
push 0
push 0x1111
mov eax, dword [ebp + 0x68]
push dword [eax]
call dword [fcn.0045a4e0]
jmp 0x46c847
push 1
push 0xffffffffffffffff
push 0x100c
jmp 0x46c83b
push 0
push 0
push 0x19f
mov eax, dword [ebp + 0x68]
push dword [eax]
call dword [fcn.0045a4e0]
inc eax
mov dword [ebp + 0x5c], eax
push dword [ebx]
push edi
call 0x4971f0
pop ecx
pop ecx
jmp 0x46c979
cmp ecx, 8
mov dword [esi + 0x34], 1
jne 0x46c971
mov eax, dword [ebp + 4]
mov dword [esi + 0x3c], eax
mov ecx, dword [0x467b78]
push 0x18
push 0
push dword [ebp + 0x5c]
call fcn.0045f81f
mov eax, dword [ebx]
mov edi, dword [ebp + 0xc]
mov dword [esi + 0xa0], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x44], eax
mov eax, dword [ebx + 8]
mov dword [esi + 0x4c], eax
mov eax, dword [ebp + 0x5c]
mov dword [esi + 0x38], eax
mov eax, dword [ebp + 0x30]
test eax, eax
mov dword [esi + 0x48], edi
je 0x46c993
mov byte [eax], 1
jmp 0x46c9a0
mov eax, dword [ebp + 0x68]
mov al, byte [eax + 4]
cmp al, 0xa
je 0x46c8df
cmp al, 0x15
jne 0x46c92d
mov ecx, dword [ebp + 0x54]
lea eax, [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x58]
mov dword [eax + 4], ecx
push dword [ebx]
push eax
call 0x4971f0
pop ecx
pop ecx
mov ecx, dword [ebp + 0x20]
jmp 0x46c92d
cmp cl, 0x49
jne 0x46c92d
test ch, 1
lea eax, [ebp - 0xc]
je 0x46c8f2
mov byte [ebp - 0xc], 0x53
jmp 0x46c8fb
test ch, 2
je 0x46c8fe
mov byte [ebp - 0xc], 0x73
lea eax, [ebp - 0xb]
test ch, 4
je 0x46c908
mov byte [eax], 0x46
jmp 0x46c910
test ch, 8
je 0x46c911
mov byte [eax], 0x66
inc eax
test ch, 0x10
je 0x46c91b
mov byte [eax], 0x43
jmp 0x46c923
test ch, 0x20
je 0x46c924
mov byte [eax], 0x63
inc eax
push 0x49
pop ecx
mov byte [eax], 0
mov dword [ebp + 0x20], ecx
mov dword [esi + 0x34], ecx
jmp 0x46c968
mov dword [esi + 0x34], edi
mov ecx, dword [ebp + 0x54]
lea eax, [esi + 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp + 0x58]
mov dword [eax + 4], ecx
push dword [ebx]
push eax
call 0x4971f0
pop ecx
pop ecx
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.0045a4dc]
and eax, 0xffffffef
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.0045a524]
mov ecx, dword [ebp + 0x20]
cmp ecx, 8
je 0x46c86f
cmp ecx, edi
je 0x46c86f
mov ecx, dword [0x467b78]
push 1
push 0
push 0xffffffffffffffff
lea eax, [ebp - 0xc]
push eax
call fcn.0045f44e
jmp 0x46c881
cmp byte [ebp + 0x64], 0
je 0x46c9a0
mov eax, dword [ebp + 0x68]
or byte [eax + 5], 4
mov ecx, dword [ebp + 0x3c]
call fcn.004641a4
mov eax, dword [ebp + 8]
mov ebx, dword [eax*4 + 0x467980]
test ebx, ebx
je 0x46ca61
cmp edi, dword [ebx + 0xc]
jae 0x46c9ca
mov ecx, dword [ebx + 0x14]
lea eax, [edi + edi*4]
lea ecx, [ecx + eax*4]
jmp 0x46c9cc
xor ecx, ecx
mov eax, dword [ebp + 0x20]
sub eax, 5
mov dword [ebp + 0x68], ecx
je 0x46c9ff
dec eax
je 0x46c9f9
dec eax
je 0x46c9f3
dec eax
je 0x46c9ed
dec eax
je 0x46ca61
test ecx, ecx
je 0x46ca61
and byte [ecx + 5], 0xfb
jmp 0x46ca61
mov byte [ebx + 0x32], 0
jmp 0x46ca61
mov byte [ebx + 0x31], 0
jmp 0x46ca61
mov byte [ebx + 0x30], 0
jmp 0x46ca61
mov eax, dword [ebx + 0x6c]
test eax, eax
je 0x46ca11
push eax
call dword [0x45a304]
and dword [ebx + 0x6c], 0
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.0045a4dc]
or eax, 0x10
push eax
push 0xffffffffffffffec
push dword [ebx]
call dword [fcn.0045a524]
jmp 0x46ca61
test ebx, ebx
je 0x46ca43
mov eax, dword [ebx]
mov dword [esi + 0xa0], eax
mov dword [esi + 0x34], edi
mov eax, dword [ebx + 8]
mov dword [esi + 0x4c], eax
mov dword [esi + 0x44], eax
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax + 0xc]
call fcn.004641a4
jmp 0x46ca61
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x28]
mov dword [esi + 0xa0], eax
call fcn.0046d85f
lea eax, [ebp - 0xc0]
push eax
call fcn.0046b7d4
cmp dword [ebp + 0x7c], 0
pop ecx
je 0x46bb54
push dword [ebp + 0x38]
push dword [ebp + 0x18]
push dword [ebp + 0x78]
call fcn.0046cb48
add esp, 0xc
test eax, eax
je 0x46bb54
mov byte [ebp + 0x65], 1
mov byte [ebp + 0x38], 1
jmp 0x46bb54
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 0
mov eax, dword [0x467264]
test eax, eax
je 0x46cacc
lea ecx, [ebp + 0x40]
push ecx
push eax
push dword [0x467254]
call dword [0x45a528]
test eax, eax
jne 0x46bb54
mov eax, dword [0x465108]
mov byte [eax + 0xc0], 1
mov eax, dword [0x465108]
mov ecx, dword [ebp + 0x44]
mov dword [eax + 0xbc], ecx
lea eax, [ebp + 0x40]
push eax
call dword [0x45a52c]
lea eax, [ebp + 0x40]
push eax
call dword [0x45a530]
jmp 0x46c16b
cmp byte [ebp + 0x67], 0
je 0x46cb0c
mov byte [0x4673a5], 0
cmp byte [ebp + 0x66], 0
je 0x46c160
dec dword [0x4673b4]
cmp dword [ebp + 0x78], esi
jle 0x46c160
cmp dword [0x4673b4], esi
jne 0x46c160
cmp dword [0x468158], esi
jne 0x46c160
cmp dword [0x4693dc], esi
jmp 0x46c13c