Function at 0x405710
Capabilities:
Terminate process

Disassembly:
sub esp, 0x20
push esi
mov dword [0x433274], 0x416f78
mov dword [esp + 8], 0x416f58
call fcn.00405390
mov eax, dword [esp + 0x28]
mov esi, 1
cmp eax, esi
jne 0x405751
push esi
call fcn.0040d95b
add esp, 4
test eax, eax
je 0x405751
call fcn.00407480
push 0
call fcn.0040b656
push ebx
push ebp
push edi
lea eax, [esp + 0x38]
push 0x416830
lea ecx, [esp + 0x38]
push eax
push ecx
call fcn.00407730
xor ebx, ebx
push 0x407400
push 2
mov dword [0x43294c], ebx
mov dword [0x433288], ebx
mov dword [0x432948], ebx
mov dword [esp + 0x24], ebx
call fcn.0040bcb9
push 0x407400
push 0xf
call fcn.0040bcb9
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
xor ebp, ebp
mov dword [esp + 0x40], ebx
call fcn.00407630
mov eax, dword [esp + 0x58]
add esp, 0x24
cmp eax, esi
mov dword [esp + 0x18], esi
jle 0x405e4e
mov ecx, dword [esp + 0x38]
mov edi, dword [ecx + esi*4]
cmp byte [edi], 0x2d
jne 0x405c06
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x405b44
mov edi, eax
mov al, byte [edi]
test al, al
je case.default.0x405c2b
movsx eax, al
lea ecx, [eax - 0x24]
cmp ecx, 0x56
ja case.0x405801.66
xor edx, edx
mov dl, byte [ecx + 0x407260]
jmp dword [edx*4 + 0x4071e4]
mov dword [0x415354], ebx
mov dword [0x415358], ebx
jmp case.0x405801.59
add eax, 0xffffffd0
mov dword [0x415358], eax
jmp case.0x405801.59
cmp ebp, ebx
mov dword [0x432964], 1
je 0x405848
push 0x416814
push 0x10
call fcn.00405450
add esp, 8
jmp case.0x405801.59
mov ebp, 1
jmp case.0x405801.59
mov dword [0x432950], 1
jmp case.0x405801.59
cmp dword [0x415b98], 1
je 0x405879
push 0x4167fc
push 0x10
call fcn.00405450
add esp, 8
mov dword [0x415b98], ebx
jmp case.0x405801.59
mov dword [0x41535c], ebx
jmp case.0x405801.59
push 0x4167e0
push 0x10
call fcn.00405450
add esp, 8
jmp case.0x405801.59
inc dword [0x417a28]
jmp case.0x405801.59
cmp dword [0x415b98], 1
je 0x4058c6
push 0x4167fc
push 0x10
call fcn.00405450
add esp, 8
mov dword [0x415b98], 3
jmp case.0x405801.59
mov dword [esp + 0x10], 1
jmp case.0x405801.59
call fcn.00407480
push ebx
call fcn.004072e0
add esp, 4
mov dword [0x415350], ebx
jmp case.0x405801.59
mov dword [0x417a20], 1
jmp case.0x405801.59
inc dword [0x417a2c]
jmp case.0x405801.59
call fcn.00407410
push ebx
call fcn.004072e0
add esp, 4
mov dword [0x417a1c], 1
jmp case.0x405801.59
mov dword [0x415364], ebx
jmp case.0x405801.59
mov dword [0x432958], 1
jmp case.0x405801.59
mov eax, dword [0x417a24]
mov dword [0x415360], ebx
cmp eax, ebx
je case.0x405801.59
dec eax
mov dword [0x417a24], eax
jmp case.0x405801.59
mov dword [0x417a18], 1
jmp case.0x405801.59
mov dword [0x417a34], 1
jmp case.0x405801.59
cmp dword [0x43295c], ebx
je 0x40599f
push 0x4167c8
push 0x10
call fcn.00405450
add esp, 8
mov ebp, 2
jmp case.0x405801.59
mov dword [0x432960], 1
jmp case.0x405801.59
cmp dword [0x415b98], 1
je 0x4059d0
push 0x4167fc
push 0x10
call fcn.00405450
add esp, 8
mov dword [0x415b98], 2
jmp case.0x405801.59
mov eax, dword [0x417a24]
mov dword [0x415360], 1
inc eax
mov dword [0x417a24], eax
jmp case.0x405801.59
cmp ebp, 4
je 0x405a20
cmp ebp, 3
jne 0x405a11
mov eax, dword [0x415b98]
cmp eax, 2
je 0x405a20
cmp eax, ebp
je 0x405a20
push 0x4167b0
push 0x10
call fcn.00405450
add esp, 8
mov ebp, 5
jmp case.0x405801.59
mov dword [0x432954], 1
jmp case.0x405801.59
mov dword [0x417a38], 1
jmp case.0x405801.59
cmp ebp, 3
mov dword [esp + 0x14], ebx
jge 0x405a5e
mov dword [esp + 0x1c], 1
jmp case.0x405801.59
mov eax, dword [0x433288]
mov esi, 0x415104
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x405a8c
test cl, cl
je 0x405a88
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x405a8c
add eax, 2
add esi, 2
test cl, cl
jne 0x405a68
xor eax, eax
jmp 0x405a91
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x405aa9
push 0x416794
push 0x10
call fcn.00405450
add esp, 8
jmp case.0x405801.59
push 0x4332a0
call fcn.00402a50
mov esi, eax
add esp, 4
cmp esi, ebx
je case.0x405801.59
mov eax, dword [0x415b98]
cmp eax, 1
je 0x405ad3
cmp eax, 2
je 0x405ad3
push esi
call fcn.00403000
jmp 0x405ad9
push esi
call fcn.00402470
add esp, 4
cmp eax, ebx
je 0x405afb
cmp eax, 0xffffffff
push esi
jne 0x405af2
push 0x41521c
call fcn.004056e0
jmp 0x405af8
push eax
call fcn.00405450
add esp, 8
push 0x4332a0
call fcn.00402a50
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x405abc
jmp case.0x405801.59
push eax
push 0x416780
push 0x4332a0
call fcn.0040bc67
push 0x4332a0
push 0x10
call fcn.00405450
add esp, 0x14
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4057ea
mov esi, dword [esp + 0x18]
jmp case.default.0x405c2b
cmp ebp, 4
ja case.default.0x405c2b
jmp dword [ebp*4 + 0x4072b8]
call fcn.00407530
mov eax, dword [esp + 0x1c]
mov ebp, 3
cmp eax, ebx
je case.default.0x405c2b
push 0x416794
push 0x10
call fcn.00405450
add esp, 8
jmp case.default.0x405c2b
push 0x416770
push 0x10
call fcn.00405450
add esp, 8
jmp case.default.0x405c2b
push 0x416760
push 0x10
call fcn.00405450
add esp, 8
jmp case.default.0x405c2b
mov eax, dword [0x415b98]
mov dword [esp + 0x14], ebx
cmp eax, 1
je 0x405bc1
cmp eax, 2
je 0x405bc1
push edi
call fcn.00403000
jmp 0x405bc7
push edi
call fcn.00402470
add esp, 4
cmp eax, ebx
je 0x405bf8
cmp eax, 0xffffffff
jne 0x405be7
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + esi*4]
push ecx
push 0x41521c
call fcn.004056e0
jmp 0x405bf5
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + esi*4]
push ecx
push eax
call fcn.00405450
add esp, 8
cmp ebp, 3
jne case.default.0x405c2b
jmp 0x405e33
cmp dword [0x415364], ebx
jne 0x405c19
mov dword [0x415364], edi
jmp case.default.0x405c2b
cmp ebp, 5
je 0x405e49
cmp ebp, 4
ja case.default.0x405c2b
jmp dword [ebp*4 + 0x4072cc]
push edi
call fcn.004078f0
add esp, 4
cmp eax, ebx
mov dword [0x433288], eax
jne 0x405c53
push 0x416744
push 4
call fcn.00405450
add esp, 8
call fcn.004079a0
cmp eax, ebx
je 0x405c6c
mov edx, dword [0x433288]
push edx
push eax
call fcn.00405450
add esp, 8
mov eax, dword [esp + 0x1c]
mov ebp, 3
cmp eax, ebx
je case.default.0x405c2b
push 0x4332a0
call fcn.00402a50
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x405ce2
mov eax, dword [0x415b98]
cmp eax, 1
je 0x405ca7
cmp eax, 2
je 0x405ca7
push esi
call fcn.00403000
jmp 0x405cad
push esi
call fcn.00402470
add esp, 4
cmp eax, ebx
je 0x405ccf
cmp eax, 0xffffffff
push esi
jne 0x405cc6
push 0x41521c
call fcn.004056e0
jmp 0x405ccc
push eax
call fcn.00405450
add esp, 8
push 0x4332a0
call fcn.00402a50
mov esi, eax
add esp, 4
cmp esi, ebx
jne 0x405c90
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
jmp case.default.0x405c2b
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0040aee2
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [0x417a44], edx
jne 0x405d22
push 0x416744
push 4
call fcn.00405450
mov edx, dword [0x417a44]
add esp, 8
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov edi, dword [eax + ecx*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor ebp, ebp
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
jmp case.default.0x405c2b
lea ecx, [esp + 0x24]
lea edx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x2c]
push edx
mov edx, dword [ecx + esi*4]
push eax
push 0x416738
push edx
call fcn.0040bc33
add esp, 0x14
cmp eax, 3
jne 0x405d9a
mov ecx, dword [esp + 0x28]
cmp ecx, 1
jl 0x405d9a
cmp ecx, 0xc
jg 0x405d9a
mov eax, dword [esp + 0x2c]
cmp eax, 1
jl 0x405d9a
cmp eax, 0x1f
jle 0x405db1
push 0x416714
push 0x10
call fcn.00405450
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
add esp, 8
push ebx
push ebx
push ebx
push eax
mov eax, dword [esp + 0x34]
push ecx
xor ecx, ecx
cmp eax, 0x50
setge cl
dec ecx
and ecx, 0x64
add ecx, 0x76c
add ecx, eax
push ecx
call fcn.004037c0
add esp, 0x18
mov dword [0x43295c], eax
xor ebp, ebp
jmp case.default.0x405c2b
mov eax, dword [0x415b98]
cmp eax, 1
je 0x405df7
cmp eax, 2
je 0x405df7
push edi
call fcn.00403000
jmp 0x405dfd
push edi
call fcn.00402470
add esp, 4
cmp eax, ebx
je 0x405e2e
cmp eax, 0xffffffff
jne 0x405e1d
mov edx, dword [esp + 0x38]
mov eax, dword [edx + esi*4]
push eax
push 0x41521c
call fcn.004056e0
jmp 0x405e2b
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + esi*4]
push edx
push eax
call fcn.00405450
add esp, 8
cmp ebp, 3
jne case.default.0x405c2b
mov ebp, 4
mov eax, dword [esp + 0x34]
inc esi
cmp esi, eax
mov dword [esp + 0x18], esi
jl 0x4057c0
cmp ebp, 3
jge 0x405e9e
call fcn.00407530
push 0x415104
mov dword [esp + 0x18], ebx
call fcn.00403000
add esp, 4
cmp eax, ebx
je 0x405e87
cmp eax, 0xffffffff
push 0x415104
jne 0x405e7e
push 0x41521c
call fcn.004056e0
jmp 0x405e84
push eax
call fcn.00405450
add esp, 8
cmp dword [esp + 0x1c], ebx
je 0x405ede
push 0x416794
push 0x10
call fcn.00405450
add esp, 8
jmp 0x405ede
jne 0x405ede
mov eax, dword [0x415b98]
cmp eax, 2
je 0x405eaf
cmp eax, 3
jne 0x405ede
mov esi, dword [0x417a48]
cmp esi, ebx
je 0x405ede
cmp dword [0x417a54], ebx
je 0x405ecf
mov eax, dword [esi + 0x48]
push eax
call fcn.00402f90
add esp, 4
jmp 0x405ed4
mov eax, 1
mov dword [esi + 0x4c], eax
mov esi, dword [esi + 0x58]
cmp esi, ebx
jne 0x405eb9
call fcn.00402d60
cmp eax, ebx
je 0x405f02
cmp eax, 0x10
jne 0x405ef4
push 0x4166f4
push eax
jmp 0x405efa
push 0x4166d4
push eax
call fcn.00405450
add esp, 8
cmp dword [0x433280], ebx
je 0x405f19
mov ecx, dword [0x433270]
push ecx
call fcn.0040abdb
add esp, 4
mov edi, dword [0x415364]
cmp edi, ebx
jne 0x405f38
push 0x4166c0
push 0x10
call fcn.00405450
mov edi, dword [0x415364]
add esp, 8
cmp dword [0x415358], 9
je 0x405fa9
mov esi, 0x4166bc
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x405f6c
test dl, dl
je 0x405f68
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x405f6c
add ecx, 2
add esi, 2
test dl, dl
jne 0x405f48
xor ecx, ecx
jmp 0x405f71
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
je 0x405fa9
mov esi, 0x4151d0
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x405fa0
test cl, cl
je 0x405f9c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x405fa0
add eax, 2
add esi, 2
test cl, cl
jne 0x405f7c
xor eax, eax
jmp 0x405fa5
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x405faf
mov dword [0x415364], ebx
cmp dword [0x415b98], ebx
jne 0x405ff7
cmp dword [0x415354], 0xffffffff
jne 0x405fe8
cmp dword [0x417a1c], ebx
jne 0x405fe8
cmp dword [0x417a18], ebx
jne 0x405fe8
cmp dword [0x417a40], ebx
jne 0x405fe8
cmp dword [0x432950], ebx
jne 0x405fe8
cmp dword [0x432954], ebx
je 0x405ff7
push 0x41669c
push 0x10
call fcn.00405450
add esp, 8
cmp dword [0x417a3c], ebx
je 0x40601f
cmp dword [0x417a20], ebx
je 0x40601f
push 0x417a5c
push 0x416678
call fcn.004056e0
add esp, 8
mov dword [0x417a3c], ebx
cmp dword [0x432960], ebx
je 0x406070
mov eax, dword [0x433288]
mov esi, 0x415104
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x406055
test cl, cl
je 0x406051
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x406055
add eax, 2
add esi, 2
test cl, cl
jne 0x406031
xor eax, eax
jmp 0x40605a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x406070
push 0x417a5c
push 0x416654
call fcn.004056e0
add esp, 8
cmp dword [0x415b98], 1
jne 0x40607f
cmp dword [esp + 0x10], ebx
je 0x4060c5
mov eax, dword [0x433288]
mov esi, 0x415104
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4060ad
test cl, cl
je 0x4060a9
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4060ad
add eax, 2
add esi, 2
test cl, cl
jne 0x406089
xor eax, eax
jmp 0x4060b2
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4060c5
push 0x416630
push 0x10
call fcn.00405450
add esp, 8
cmp dword [0x433280], ebx
jne 0x4060ef
cmp dword [0x415b98], 1
jne 0x4060dc
cmp dword [esp + 0x10], ebx
je 0x4060ef
mov eax, dword [0x433288]
push 0x41661c
push eax
call fcn.004056e0
add esp, 8
cmp dword [0x417a44], ebx
jne 0x4061a3
mov ecx, dword [0x433288]
push 0x2f
push ecx
call fcn.0040b0e0
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x40613f
mov edx, dword [0x433288]
push 0x5c
push edx
call fcn.0040b0e0
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x40613f
mov eax, dword [0x433288]
push 0x3a
push eax
call fcn.0040b0e0
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x4061a3
cmp byte [ebp], 0x3a
jne 0x406146
inc ebp
mov eax, dword [0x433288]
mov ecx, ebp
sub ecx, eax
inc ecx
push ecx
call fcn.0040aee2
add esp, 4
cmp eax, ebx
mov dword [0x417a44], eax
jne 0x406171
push 0x416744
push 4
call fcn.00405450
add esp, 8
movsx edx, byte [ebp]
mov byte [ebp], 0
mov edi, dword [0x433288]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [0x417a44]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov byte [ebp], dl
mov esi, dword [0x417a48]
xor ebp, ebp
cmp esi, ebx
je 0x40624c
cmp dword [esi + 0x4c], ebx
je 0x406241
cmp dword [0x415b98], ebx
je 0x406240
mov ecx, dword [esi + 0x38]
push ebx
push ebx
push ecx
call fcn.00403820
add esp, 0xc
cmp eax, ebx
je 0x4061f3
cmp eax, dword [0x43295c]
jb 0x4061f3
mov ecx, dword [0x415b98]
cmp ecx, 2
je 0x4061ee
cmp ecx, 3
jne 0x406240
cmp eax, dword [esi + 8]
ja 0x406240
cmp eax, ebx
mov dword [esi + 0x4c], ebx
je 0x406209
cmp eax, dword [0x43295c]
jb 0x406209
mov eax, 1
jmp 0x40620b
xor eax, eax
mov dword [esi + 0x50], eax
mov ecx, dword [0x417a24]
cmp ecx, ebx
je 0x406241
cmp eax, ebx
mov eax, 0x416610
jne 0x406226
mov eax, 0x4165fc
mov edx, dword [esi + 0x38]
push eax
mov eax, dword [0x433274]
push edx
push 0x4165e4
push eax
call fcn.0040aba9
add esp, 0x10
jmp 0x406241
inc ebp
mov esi, dword [esi + 0x58]
cmp esi, ebx
jne 0x4061b3
mov edi, dword [0x417a4c]
cmp edi, ebx
je 0x4062ec
mov eax, dword [0x415b98]
test eax, eax
je 0x4062d9
cmp eax, 3
je 0x4062d9
mov ecx, dword [edi]
push 0
push 0
push ecx
call fcn.00403820
add esp, 0xc
test eax, eax
je 0x4062d9
cmp eax, dword [0x43295c]
jb 0x4062d9
mov edx, dword [0x433288]
mov eax, dword [edi]
push edx
push eax
call fcn.004053e0
add esp, 8
test eax, eax
jne 0x4062d4
mov eax, dword [0x433288]
mov esi, 0x415104
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4062cb
test cl, cl
je 0x4062c7
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4062cb
add eax, 2
add esi, 2
test cl, cl
jne 0x4062a3
xor eax, eax
jmp 0x4062d0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4062d9
mov edi, dword [edi + 0x10]
jmp 0x4062e4
push edi
call fcn.00402b10
add esp, 4
mov edi, eax
test edi, edi
jne 0x40625a
xor ebx, ebx
cmp ebp, ebx
jne 0x4063a9
cmp dword [0x417a4c], ebx
jne 0x4063a9
mov eax, dword [0x417a48]
cmp eax, ebx
je 0x40632b
cmp dword [0x432958], ebx
jne 0x4063a9
cmp dword [0x417a28], ebx
jne 0x4063a9
cmp dword [0x432954], ebx
jne 0x4063a9
cmp dword [0x432960], ebx
je 0x406353
cmp eax, ebx
jne 0x40633f
cmp dword [0x4336f4], ebx
je 0x406353
mov eax, dword [0x433288]
push eax
call fcn.004075b0
push ebx
call fcn.004072e0
add esp, 8
mov eax, dword [0x415b98]
cmp eax, 2
je 0x4063a0
cmp eax, 3
je 0x4063a0
cmp dword [0x417a48], ebx
jne 0x40638d
cmp dword [0x432958], ebx
jne 0x40637a
cmp dword [0x417a28], ebx
je 0x40638d
mov ecx, dword [0x433288]
push ecx
push 0xd
call fcn.00405450
add esp, 8
jmp 0x4063a9
mov edx, dword [0x433288]
push edx
push 0xc
call fcn.00405450
add esp, 8
jmp 0x4063a9
push ebx
call fcn.004072e0
add esp, 4
mov eax, dword [esp + 0x10]
mov edi, dword [0x4336f4]
cmp eax, ebx
je 0x4063d1
cmp ebp, ebx
jne 0x4063d1
cmp edi, ebx
jne 0x4063c7
cmp dword [0x417a48], ebx
je 0x4063d1
mov dword [esp + 0x10], 1
jmp 0x4063d5
mov dword [esp + 0x10], ebx
mov eax, dword [0x433288]
mov esi, 0x415104
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x406403
test cl, cl
je 0x4063ff
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x406403
add eax, 2
add esi, 2
test cl, cl
jne 0x4063df
xor eax, eax
jmp 0x406408
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x406422
mov eax, dword [0x432964]
cmp eax, ebx
mov eax, dword [0x417a48]
je 0x40647b
cmp eax, ebx
jne 0x406490
cmp edi, ebx
jne 0x406490
mov dword [esp + 0x28], ebx
cmp dword [0x417a28], ebx
je 0x406436
xor edi, edi
mov dword [0x4336f4], edi
mov eax, dword [0x433288]
xor ebp, ebp
mov dword [esp + 0x20], ebp
mov dword [0x43327c], ebx
mov esi, 0x415104
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x406508
test cl, cl
je 0x406474
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x406508
add eax, 2
add esi, 2
test cl, cl
jne 0x40644c
xor eax, eax
jmp 0x40650d
cmp eax, ebx
jne 0x406490
cmp edi, ebx
jne 0x406490
mov eax, dword [0x433288]
push 0x4152c0
push eax
jmp 0x40649c
mov ecx, dword [0x433288]
push 0x4165e0
push ecx
call fcn.0040b616
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x4064bb
mov edx, dword [0x433288]
push edx
push 0xf
call fcn.00405450
add esp, 8
push esi
call fcn.0040b5a0
mov eax, dword [0x433288]
push eax
call fcn.00403b00
mov edi, dword [0x4336f4]
mov dword [esp + 0x30], eax
mov eax, dword [0x417a48]
add esp, 8
cmp eax, ebx
jne 0x406426
cmp edi, ebx
jne 0x406426
mov ecx, dword [0x433288]
push ecx
call fcn.004039c0
mov edi, dword [0x4336f4]
add esp, 4
jmp 0x406426
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x406586
push 0x8000
push 0x416f78
call fcn.00412526
add esp, 4
push eax
call fcn.00411ce5
add esp, 8
push 0x4152c0
push 0x416f78
call fcn.00412526
add esp, 4
push eax
call fcn.00412681
mov ebx, eax
push 4
mov dword [esp + 0x24], ebx
mov dword [0x432948], ebx
call fcn.0040aee2
add esp, 0xc
mov dword [0x43294c], eax
test eax, eax
jne 0x406577
push 0x4165c4
push 4
call fcn.00405450
mov eax, dword [0x43294c]
add esp, 8
mov cx, word [0x415104]
mov word [eax], cx
jmp 0x4066e9
cmp dword [esp + 0x10], ebx
je 0x406616
mov edx, dword [0x433288]
push 0x4165e0
push edx
call fcn.0040b616
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x18], ebx
jne 0x4065be
mov eax, dword [0x433288]
push eax
push 0xd
call fcn.00405450
add esp, 8
mov edx, dword [0x433268]
mov ecx, dword [0x433288]
push 0
push edx
push ebx
mov dword [0x43294c], ecx
mov dword [0x432948], ebx
call fcn.0040aa10
add esp, 0xc
test eax, eax
je 0x406605
mov ecx, dword [ebx + 0xc]
mov eax, dword [0x433288]
and cl, 0x20
push eax
neg cl
sbb ecx, ecx
and ecx, 9
add ecx, 2
push ecx
call fcn.00405450
add esp, 8
mov edx, dword [0x433268]
mov dword [0x43327c], edx
jmp 0x4066e9
cmp dword [0x417a48], ebx
jne 0x406622
cmp edi, ebx
je 0x406650
mov eax, dword [0x433288]
push 0x4152e0
push eax
call fcn.0040b616
mov ebp, eax
add esp, 8
cmp ebp, ebx
mov dword [esp + 0x20], ebp
jne 0x406650
mov ecx, dword [0x433288]
push ecx
push 0xd
call fcn.00405450
add esp, 8
mov edx, dword [0x433288]
push edx
call fcn.00403b50
add esp, 4
cmp eax, ebx
mov dword [0x43294c], eax
jne 0x40667c
push 0x4165c4
push 4
call fcn.00405450
mov eax, dword [0x43294c]
add esp, 8
push 0x4152c0
push eax
call fcn.0040b616
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x18], ebx
mov dword [0x432948], ebx
jne 0x4066aa
mov eax, dword [0x43294c]
push eax
push 0xa
call fcn.00405450
add esp, 8
mov eax, dword [0x4336f4]
test eax, eax
je 0x4066dd
push eax
push ebx
push ebp
call fcn.00403c30
add esp, 0xc
test eax, eax
je 0x4066dd
mov ecx, dword [0x43294c]
cmp eax, 0xa
je 0x4066d3
mov ecx, dword [0x433288]
push ecx
push eax
call fcn.00405450
add esp, 8
mov ecx, dword [0x4336f4]
mov dword [0x43327c], ecx
push 0x4000
call fcn.0040aee2
mov esi, eax
add esp, 4
test esi, esi
jne 0x40670d
mov edx, dword [0x43294c]
push edx
push 4
call fcn.00405450
add esp, 8
push 0x4000
push 0
push esi
push ebx
call fcn.0040bb92
mov esi, dword [0x417a48]
add esp, 0x10
mov ebp, 0x417a48
mov dword [esp + 0x2c], 0
test esi, esi
mov dword [esp + 0x1c], ebp
je 0x4069ac
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x40695c
mov eax, dword [0x415b98]
test eax, eax
mov eax, dword [0x415360]
je 0x4068c3
test eax, eax
je 0x406782
mov eax, dword [esi + 0x48]
mov ecx, dword [0x433274]
push eax
push 0x4165b4
push ecx
call fcn.0040aba9
mov edx, dword [0x433274]
push edx
call fcn.0040aa9c
add esp, 0x10
push ebx
push esi
call fcn.00401130
mov edi, eax
add esp, 8
test edi, edi
je 0x406801
cmp edi, 0x12
je 0x40680a
mov eax, dword [0x415360]
test eax, eax
je 0x4067e0
mov eax, dword [0x433274]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x433274]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x4067c6
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x433274]
inc dword [eax]
jmp 0x4067d1
push eax
push 0xa
call fcn.0040ac0a
add esp, 8
mov ecx, dword [0x433274]
push ecx
call fcn.0040aa9c
add esp, 4
mov edx, dword [esi + 0x38]
push edx
push 0x4165a4
push 0x4332a0
call fcn.0040bc67
push 0x4332a0
push edi
call fcn.00405450
add esp, 0x14
cmp edi, 0x12
jne 0x40699a
mov eax, dword [0x415360]
mov dword [esp + 0x2c], 1
test eax, eax
je 0x40685b
mov eax, dword [0x433274]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x433274]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x406841
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x433274]
inc dword [eax]
jmp 0x40684c
push eax
push 0xa
call fcn.0040ac0a
add esp, 8
mov ecx, dword [0x433274]
push ecx
call fcn.0040aa9c
add esp, 4
push 0x416598
call fcn.0040ba8c
mov edx, dword [esi + 0x38]
push edx
push 0x416578
call fcn.004056e0
mov eax, dword [esi + 0x48]
push eax
push 0x41655c
call fcn.004056e0
mov ecx, dword [esp + 0x34]
push ebx
push ecx
push esi
call fcn.00401000
mov edi, eax
add esp, 0x20
test edi, edi
je 0x4068b7
mov edx, dword [esi + 0x48]
push edx
push 0x41654c
push 0x4332a0
call fcn.0040bc67
push 0x4332a0
push edi
call fcn.00405450
add esp, 0x14
mov dword [esi + 0x4c], 0
jmp 0x40699a
test eax, eax
je 0x4068eb
mov eax, dword [esi + 0x48]
mov ecx, dword [0x433274]
push eax
push 0x41653c
push ecx
call fcn.0040aba9
mov edx, dword [0x433274]
push edx
call fcn.0040aa9c
add esp, 0x10
mov eax, dword [esi + 0x38]
mov edi, dword [esi + 0x58]
push eax
call fcn.0040abdb
mov ecx, dword [esi + 0x48]
push ecx
call fcn.0040abdb
mov eax, dword [esi + 0x1c]
add esp, 8
test eax, eax
je 0x406916
mov edx, dword [esi + 0x3c]
push edx
call fcn.0040abdb
add esp, 4
mov eax, dword [esi + 0x20]
test eax, eax
je 0x406930
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
cmp eax, ecx
je 0x406930
push eax
call fcn.0040abdb
add esp, 4
mov eax, dword [esi + 0x24]
test eax, eax
je 0x406943
mov eax, dword [esi + 0x44]
push eax
call fcn.0040abdb
add esp, 4
push esi
call fcn.0040abdb
mov dword [ebp], edi
mov eax, dword [0x433280]
add esp, 4
dec eax
mov dword [0x433280], eax
jmp 0x40699d
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x40699a
mov ecx, dword [esp + 0x20]
push ebx
push ecx
push esi
call fcn.00401000
mov edi, eax
add esp, 0xc
test edi, edi
je 0x40699a
mov edx, dword [esi + 0x48]
push edx
push 0x41654c
push 0x4332a0
call fcn.0040bc67
push 0x4332a0
push edi
call fcn.00405450
add esp, 0x14
lea ebp, [esi + 0x58]
mov esi, dword [ebp]
test esi, esi
jne 0x40673d
mov dword [esp + 0x1c], ebp
mov ebp, dword [0x417a4c]
test ebp, ebp
je 0x406b6f
push 0x5c
call fcn.0040aee2
mov esi, eax
add esp, 4
test esi, esi
jne 0x4069d9
push 0x41651c
push 4
call fcn.00405450
add esp, 8
lea ebx, [esi + 0x58]
xor eax, eax
mov dword [ebx], eax
mov ecx, dword [ebp]
mov dword [esi + 0x38], ecx
mov edx, dword [ebp + 4]
mov dword [ebp], eax
mov dword [esi + 0x48], edx
mov dword [ebp + 4], eax
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x1c], eax
mov dword [esi + 0x4c], 1
mov ecx, dword [ebp + 8]
mov dword [esi + 0x54], ecx
mov ecx, dword [0x415360]
cmp ecx, eax
je 0x406a35
mov edx, dword [esi + 0x48]
mov eax, dword [0x433274]
push edx
push 0x41650c
push eax
call fcn.0040aba9
mov ecx, dword [0x433274]
push ecx
call fcn.0040aa9c
add esp, 0x10
mov edx, dword [esp + 0x18]
push edx
push esi
call fcn.00401130
mov edi, eax
add esp, 8
test edi, edi
je 0x406ab8
cmp edi, 0x12
je 0x406ac1
mov eax, dword [0x415360]
test eax, eax
je 0x406a97
mov eax, dword [0x433274]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x433274]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x406a7d
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x433274]
inc dword [eax]
jmp 0x406a88
push eax
push 0xa
call fcn.0040ac0a
add esp, 8
mov ecx, dword [0x433274]
push ecx
call fcn.0040aa9c
add esp, 4
mov edx, dword [esi + 0x38]
push edx
push 0x4165a4
push 0x4332a0
call fcn.0040bc67
push 0x4332a0
push edi
call fcn.00405450
add esp, 0x14
cmp edi, 0x12
jne 0x406b47
mov eax, dword [0x415360]
mov dword [esp + 0x2c], 1
test eax, eax
je 0x406b12
mov eax, dword [0x433274]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x433274]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x406af8
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x433274]
inc dword [eax]
jmp 0x406b03
push eax
push 0xa
call fcn.0040ac0a
add esp, 8
mov ecx, dword [0x433274]
push ecx
call fcn.0040aa9c
add esp, 4
push 0x416598
call fcn.0040ba8c
mov edx, dword [esi + 0x38]
push edx
push 0x416578
call fcn.004056e0
mov eax, dword [esi + 0x38]
push eax
call fcn.0040abdb
mov ecx, dword [esi + 0x48]
push ecx
call fcn.0040abdb
push esi
call fcn.0040abdb
add esp, 0x18
jmp 0x406b5c
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
mov dword [edx], esi
mov eax, dword [0x433280]
inc eax
mov dword [0x433280], eax
push ebp
call fcn.00402b10
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x4069ba
mov eax, dword [0x417a40]
test eax, eax
je 0x406b8b
push eax
call fcn.0040abdb
add esp, 4
mov dword [0x417a40], 0
mov eax, dword [0x432950]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x406cca
test ebx, ebx
jne 0x406bc1
push 0x416508
push 0x416f98
call fcn.00412526
add esp, 4
push eax
call fcn.00412681
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
push 0x101
call fcn.0040aee2
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x1c], edi
jne 0x406be7
push 0x4164ec
push 4
call fcn.00405450
add esp, 8
mov esi, dword [0x417a48]
test esi, esi
mov dword [esp + 0x24], esi
je 0x406cc1
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x406cb2
mov eax, dword [0x415360]
test eax, eax
je 0x406c25
mov eax, dword [esi + 0x38]
mov ecx, dword [0x433274]
push eax
push 0x4164d4
push ecx
call fcn.0040aba9
add esp, 0xc
push ebx
push 0x101
push edi
call fcn.0040bb3b
add esp, 0xc
test eax, eax
je 0x406cb2
mov esi, dword [esp + 0x1c]
or ecx, 0xffffffff
mov edi, esi
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea edx, [ebx + 1]
push edx
call fcn.0040aee2
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x406c71
push esi
call fcn.0040abdb
push 0x4164ec
push 4
call fcn.00405450
add esp, 0xc
mov edi, dword [esp + 0x1c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp byte [ebx + ebp - 1], 0xa
jne 0x406c9e
dec ebx
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
mov esi, eax
mov dword [eax + 0x24], ebx
mov ebx, dword [esp + 0x14]
mov dword [eax + 0x44], ebp
mov esi, dword [esi + 0x58]
test esi, esi
mov dword [esp + 0x24], esi
jne 0x406bf9
push edi
call fcn.0040abdb
add esp, 4
mov eax, dword [0x432954]
test eax, eax
je 0x406f8d
test ebx, ebx
jne 0x406cfc
push 0x416508
push 0x416f98
call fcn.00412526
add esp, 4
push eax
call fcn.00412681
mov ebx, eax
add esp, 8
mov dword [esp + 0x14], ebx
push 0x101
call fcn.0040aee2
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x1c], ebp
jne 0x406d22
push 0x4164ec
push 4
call fcn.00405450
add esp, 8
mov eax, dword [0x415360]
test eax, eax
je 0x406dbd
mov eax, dword [0x433284]
test eax, eax
je 0x406dbd
mov ecx, dword [0x433274]
push ecx
push 0x4164b4
call fcn.0040baf8
mov edx, dword [0x433274]
mov eax, dword [0x433284]
mov ecx, dword [0x433278]
push edx
push eax
push 1
push ecx
call fcn.0040add8
mov edx, dword [0x433284]
mov eax, dword [0x433278]
add esp, 0x18
cmp byte [eax + edx - 1], 0xa
je 0x406dae
mov eax, dword [0x433274]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x433274]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x406da3
mov ecx, dword [eax]
mov byte [ecx], 0xa
mov eax, dword [0x433274]
inc dword [eax]
jmp 0x406dae
push eax
push 0xa
call fcn.0040ac0a
add esp, 8
mov edx, dword [0x433278]
push edx
call fcn.0040abdb
add esp, 4
push 1
call fcn.0040aee2
mov dword [0x433278], eax
mov byte [eax], 0
mov eax, dword [0x415360]
add esp, 4
test eax, eax
je 0x406deb
mov eax, dword [0x433274]
push eax
push 0x416488
call fcn.0040baf8
add esp, 8
push ebx
push 0x101
push ebp
call fcn.0040bb3b
add esp, 0xc
test eax, eax
je 0x406f6e
mov esi, 0x416484
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x406e31
test cl, cl
je 0x406e2d
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x406e31
add eax, 2
add esi, 2
test cl, cl
jne 0x406e09
xor eax, eax
jmp 0x406e36
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x406f6e
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov edx, ecx
cmp byte [edx + ebp - 1], 0xa
jne 0x406e58
dec edx
mov byte [edx + ebp], 0
mov edi, dword [0x433278]
cmp byte [edi], 0
je 0x406e71
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 2
jmp 0x406e76
mov ecx, 1
add ecx, edx
push ecx
call fcn.0040aee2
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x406e9c
push ebp
call fcn.0040abdb
push 0x4164ec
push 4
call fcn.00405450
add esp, 0xc
mov edi, dword [0x433278]
cmp byte [edi], 0
je 0x406f16
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, ebx
mov edx, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x416480
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov ebp, dword [esp + 0x1c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
jmp 0x406f3c
mov al, byte [ebp]
mov edi, ebp
test al, al
jne 0x406f24
mov edi, 0x416480
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [0x433278]
push ecx
call fcn.0040abdb
mov edx, dword [esp + 0x18]
mov dword [0x433278], ebx
push edx
push 0x101
push ebp
call fcn.0040bb3b
add esp, 0x10
test eax, eax
jne 0x406e02
mov edi, dword [0x433278]
or ecx, 0xffffffff
xor eax, eax
push ebp
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [0x433284], ecx
call fcn.0040abdb
add esp, 4
mov esi, dword [0x417a48]
mov eax, dword [0x43327c]
xor ebp, ebp
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x24], eax
test esi, esi
je 0x406ffa
mov ecx, dword [esp + 0x18]
push ecx
push esi
call fcn.00409750
add esp, 8
test eax, eax
je 0x406fc8
mov edx, dword [0x43294c]
push edx
push eax
call fcn.00405450
add esp, 8
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x20]
mov ecx, dword [esi + 0x18]
add eax, edx
add eax, ecx
mov ecx, dword [0x43327c]
lea eax, [ecx + eax + 0x2e]
mov dword [0x43327c], eax
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x58]
add edi, edx
add ebx, ecx
inc ebp
test esi, esi
jne 0x406fa6
test ebp, ebp
jne 0x407011
push 0x417a5c
push 0x416470
call fcn.004056e0
mov eax, dword [0x43327c]
add esp, 8
mov ecx, dword [0x417a24]
test ecx, ecx
je 0x40703e
push ebx
push edi
call fcn.004010e0
mov edx, dword [0x433274]
push eax
push ebx
push edi
push 0x41643c
push edx
call fcn.0040aba9
mov eax, dword [0x43327c]
add esp, 0x1c
mov esi, dword [esp + 0x18]
mov edx, dword [0x433278]
mov ecx, dword [esp + 0x24]
push esi
push edx
mov edx, dword [0x433284]
sub eax, ecx
push edx
push ecx
push eax
push ebp
call fcn.00409f40
add esp, 0x18
test eax, eax
je 0x407076
mov ecx, dword [0x43294c]
push ecx
push eax
call fcn.00405450
add esp, 8
push esi
mov dword [0x432948], 0
call fcn.0040b5a0
add esp, 4
test eax, eax
je 0x4070ab
mov eax, dword [esp + 0x10]
mov edx, dword [0x43294c]
neg eax
sbb eax, eax
push edx
and eax, 4
add eax, 0xa
push eax
call fcn.00405450
add esp, 8
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4070bc
push eax
call fcn.0040b5a0
add esp, 4
call fcn.00401a20
mov eax, dword [0x432960]
test eax, eax
je 0x4070d9
mov ecx, dword [0x43294c]
push ecx
call fcn.004075b0
add esp, 4
mov ebp, dword [0x433288]
mov esi, 0x415104
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40710e
test cl, cl
je 0x40710a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40710e
add eax, 2
add esi, 2
test cl, cl
jne 0x4070e6
xor eax, eax
jmp 0x407113
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
je 0x407179
cmp dword [esp + 0x10], ebx
jne 0x407179
mov eax, dword [0x43294c]
push eax
push ebp
call fcn.004039d0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x407165
mov ecx, dword [0x43294c]
push ecx
push 0x416424
call fcn.004056e0
mov edx, dword [0x43294c]
push edx
call fcn.0040abdb
push 0x416400
push esi
mov dword [0x43294c], ebx
call fcn.00405450
add esp, 0x14
mov eax, dword [0x43294c]
push eax
call fcn.0040abdb
mov ebp, dword [0x433288]
add esp, 4
mov edi, dword [esp + 0x28]
mov dword [0x43294c], ebx
cmp edi, ebx
je 0x4071c5
mov esi, 0x415104
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4071b2
test cl, cl
je 0x4071ae
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4071b2
add eax, 2
add esi, 2
test cl, cl
jne 0x40718e
xor eax, eax
jmp 0x4071b7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x4071c5
push edi
push ebp
call fcn.00403b30
add esp, 8
mov eax, dword [esp + 0x2c]
neg eax
sbb eax, eax
and eax, 0x12
push eax
call fcn.004072e0
add esp, 4
xor eax, eax
pop edi
pop ebp
pop ebx
pop esi
add esp, 0x20
ret