Function at 0x401370
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
xor ebx, ebx
push 0x41ec44
push 2
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebx
call fcn.0040dd87
mov dword [0x46a54c], 0x41d7d8
mov dword [esp + 0x24], 0x41d7b8
call fcn.00409120
call fcn.004141ef
lea eax, [esp + 0x60]
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.00409870
push 1
call fcn.00411759
add esp, 0x14
test eax, eax
je 0x401423
mov eax, dword [esp + 0x54]
cmp eax, 1
jne 0x4013da
call fcn.004037e0
push ebx
call fcn.0040d6a2
cmp eax, 2
jne 0x401423
mov edx, dword [esp + 0x58]
mov esi, 0x41c88c
mov eax, dword [edx + 4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40140f
test cl, cl
je 0x40140b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40140f
add eax, 2
add esi, 2
test cl, cl
jne 0x4013eb
xor eax, eax
jmp 0x401414
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401423
call fcn.00403890
push ebx
call fcn.0040d6a2
push 0x41b170
lea eax, [esp + 0x5c]
push 0x41b168
lea ecx, [esp + 0x5c]
push eax
push ecx
call fcn.00409290
push 0x4037b0
push 2
mov dword [0x41ec1c], ebx
mov dword [0x46a55c], ebx
mov dword [0x41ec18], ebx
mov dword [esp + 0x30], ebx
call fcn.0040dbfe
push 0x4037b0
push 0xf
call fcn.0040dbfe
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x74]
push edx
push eax
xor ebp, ebp
mov dword [esp + 0x48], ebx
call fcn.00403ba0
mov ecx, dword [esp + 0x7c]
mov eax, 1
add esp, 0x28
cmp ecx, eax
mov dword [esp + 0x10], eax
jle 0x401d83
mov esi, eax
mov ecx, dword [esp + 0x58]
mov edi, dword [ecx + esi*4]
cmp byte [edi], 0x2d
jne 0x40198a
mov cl, byte [edi + 1]
lea eax, [edi + 1]
test cl, cl
je 0x4018d3
mov edi, eax
mov al, byte [edi]
test al, al
je case.0x4019b8.5
movsx eax, al
lea ecx, [eax - 0x21]
cmp ecx, 0x59
ja case.0x4014da.69
xor edx, edx
mov dl, byte [ecx + 0x4035c0]
jmp dword [edx*4 + 0x40352c]
mov dword [0x41d248], ebx
mov dword [0x41d24c], ebx
jmp case.0x4014da.62
add eax, 0xffffffd0
mov dword [0x41d24c], eax
jmp case.0x4014da.62
mov dword [0x41f0a4], 1
jmp case.0x4014da.62
cmp ebp, ebx
mov dword [0x41ec38], 1
je 0x401530
push 0x41c870
push 0x10
call section..text
add esp, 8
jmp case.0x4014da.62
mov ebp, 1
jmp case.0x4014da.62
mov dword [0x41ec20], 1
jmp case.0x4014da.62
cmp dword [0x41b0f4], 1
je 0x401561
push 0x41c858
push 0x10
call section..text
add esp, 8
mov dword [0x41b0f4], ebx
jmp case.0x4014da.62
mov dword [0x41d250], ebx
jmp case.0x4014da.62
inc dword [0x41f0a0]
jmp case.0x4014da.62
cmp dword [0x41b0f4], 1
je 0x40159a
push 0x41c858
push 0x10
call section..text
add esp, 8
mov dword [0x41b0f4], 3
jmp case.0x4014da.62
mov dword [esp + 0x18], 1
jmp case.0x4014da.62
mov dword [0x41d244], ebx
jmp case.0x4014da.62
mov dword [0x41ec3c], 1
jmp case.0x4014da.62
mov dword [0x41f098], 1
jmp case.0x4014da.62
inc dword [0x41f0a8]
jmp case.0x4014da.62
mov dword [0x41f094], 1
jmp case.0x4014da.62
mov dword [0x41d25c], ebx
jmp case.0x4014da.62
mov dword [0x41ec28], 1
jmp case.0x4014da.62
cmp ebp, ebx
je 0x401626
push 0x41c83c
push 0x10
call section..text
add esp, 8
cmp dword [0x41f0c0], ebx
je case.0x4014da.52
push 0x41c824
push 0x10
call section..text
add esp, 8
push 0x41c808
push 0x10
call section..text
add esp, 8
jmp case.0x4014da.62
mov eax, dword [0x41f09c]
mov dword [0x41d254], ebx
cmp eax, ebx
je case.0x4014da.62
dec eax
mov dword [0x41f09c], eax
jmp case.0x4014da.62
cmp dword [0x41f090], 2
jne 0x401687
push 0x41c7e8
push 0x10
call section..text
add esp, 8
mov dword [0x41f090], 1
jmp case.0x4014da.62
cmp dword [0x41f090], 1
jne 0x4016ae
push 0x41c7e8
push 0x10
call section..text
add esp, 8
mov dword [0x41f090], 2
jmp case.0x4014da.62
mov dword [0x41f0b0], 1
jmp case.0x4014da.62
cmp byte [edi + 1], 0x74
jne 0x4016da
inc edi
mov eax, 0x41ec30
jmp 0x4016df
mov eax, 0x41ec2c
mov ecx, dword [eax]
mov dword [esp + 0x24], eax
cmp ecx, ebx
je 0x401705
cmp eax, 0x41ec30
mov eax, 0x41c7d0
je 0x4016fa
mov eax, 0x41c7b8
push eax
push 0x10
call section..text
add esp, 8
mov ebp, 2
jmp case.0x4014da.62
mov dword [0x41ec34], 1
jmp case.0x4014da.62
cmp dword [0x41b0f4], 1
je 0x401736
push 0x41c858
push 0x10
call section..text
add esp, 8
mov dword [0x41b0f4], 2
jmp case.0x4014da.62
mov eax, dword [0x41f09c]
mov dword [0x41d254], 1
inc eax
mov dword [0x41f09c], eax
jmp case.0x4014da.62
cmp byte [edi + 1], 0x40
jne 0x401770
mov al, byte [edi + 2]
test al, al
jne 0x401b04
cmp dword [0x46a55c], ebx
jne 0x401787
push 0x41c794
push 0x10
call section..text
add esp, 8
mov ebp, 5
jmp case.0x4014da.62
mov dword [0x41ec24], 1
jmp case.0x4014da.62
mov dword [0x41f0b4], 1
jmp case.0x4014da.62
cmp ebp, 3
mov dword [esp + 0x1c], ebx
jge 0x4017c5
mov dword [esp + 0x20], 1
jmp case.0x4014da.62
mov eax, dword [0x46a55c]
mov esi, 0x41c790
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4017f3
test cl, cl
je 0x4017ef
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4017f3
add eax, 2
add esi, 2
test cl, cl
jne 0x4017cf
xor eax, eax
jmp 0x4017f8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401810
push 0x41c774
push 0x10
call section..text
add esp, 8
jmp case.0x4014da.62
push 0x41d7b8
push 0x46a560
call fcn.00407d10
mov esi, eax
add esp, 8
cmp esi, ebx
je case.0x4014da.62
mov ebp, 4
mov eax, dword [0x41b0f4]
cmp eax, 1
je 0x40184d
cmp eax, 2
je 0x40184d
push 1
push esi
call fcn.0040c120
add esp, 8
jmp 0x401856
push esi
call fcn.0040ba00
add esp, 4
cmp eax, ebx
je 0x401875
cmp eax, 0xffffffff
push esi
jne 0x40186c
push 0x41c760
call fcn.00401340
jmp 0x401872
push eax
call section..text
add esp, 8
push 0x41d7b8
push 0x46a560
call fcn.00407d10
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x401831
jmp case.0x4014da.62
mov dword [0x41d258], ebx
jmp case.0x4014da.62
mov dword [0x41f0bc], 1
jmp case.0x4014da.62
push eax
push 0x41c74c
push 0x46a560
call fcn.0040dbac
push 0x46a560
push 0x10
call section..text
add esp, 0x14
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4014c3
jmp 0x401b04
cmp ebp, 4
ja case.0x4019b8.5
jmp dword [ebp*4 + 0x40361c]
call fcn.004039c0
mov eax, dword [esp + 0x20]
mov ebp, 3
cmp eax, ebx
je case.0x4019b8.5
push 0x41c774
push 0x10
call section..text
add esp, 8
jmp case.0x4019b8.5
push 0x41c73c
push 0x10
call section..text
add esp, 8
push 0x41c72c
push 0x10
call section..text
add esp, 8
mov eax, dword [0x41b0f4]
mov dword [esp + 0x1c], ebx
cmp eax, 1
je 0x401952
cmp eax, 2
je 0x401952
mov eax, dword [esp + 0x58]
push 1
mov ecx, dword [eax + esi*4]
push ecx
call fcn.0040c120
add esp, 8
jmp 0x401962
mov edx, dword [esp + 0x58]
mov eax, dword [edx + esi*4]
push eax
call fcn.0040ba00
add esp, 4
cmp eax, ebx
je 0x401c44
mov ecx, dword [esp + 0x58]
cmp eax, 0xffffffff
mov edx, dword [ecx + esi*4]
push edx
jne 0x401c3b
push 0x41c760
call fcn.00401340
jmp 0x401c41
cmp dword [0x41d25c], ebx
jne 0x40199d
mov dword [0x41d25c], edi
jmp case.0x4019b8.5
cmp ebp, 5
je 0x401d83
cmp ebp, 6
je 0x401d03
cmp ebp, 7
ja case.0x4019b8.5
jmp dword [ebp*4 + 0x403630]
push edi
call fcn.00403ed0
add esp, 4
cmp eax, ebx
mov dword [0x46a55c], eax
jne 0x4019e0
push 0x41c710
push 4
call section..text
add esp, 8
call fcn.00403fa0
cmp eax, ebx
je 0x4019f9
mov ecx, dword [0x46a55c]
push ecx
push eax
call section..text
add esp, 8
mov eax, dword [esp + 0x20]
mov ebp, 3
cmp eax, ebx
je 0x401a8b
push 0x41d7b8
push 0x46a560
call fcn.00407d10
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x401a83
mov ebp, 4
mov eax, dword [0x41b0f4]
cmp eax, 1
je 0x401a43
cmp eax, 2
je 0x401a43
push 1
push esi
call fcn.0040c120
add esp, 8
jmp 0x401a4c
push esi
call fcn.0040ba00
add esp, 4
cmp eax, ebx
je 0x401a6b
cmp eax, 0xffffffff
push esi
jne 0x401a62
push 0x41c760
call fcn.00401340
jmp 0x401a68
push eax
call section..text
add esp, 8
push 0x41d7b8
push 0x46a560
call fcn.00407d10
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x401a27
mov esi, dword [esp + 0x10]
mov dword [esp + 0x20], ebx
cmp dword [0x41f090], 2
jne case.0x4019b8.5
mov ebp, 6
jmp case.0x4019b8.5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0040db38
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [0x41f0c4], edx
jne 0x401ace
push 0x41c710
push 4
call section..text
mov edx, dword [0x41f0c4]
add esp, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
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
rep movsb byte es:[edi], byte [esi]
cmp dword [0x46a55c], ebx
jne 0x401cc2
xor ebp, ebp
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x54]
inc esi
cmp esi, eax
mov dword [esp + 0x10], esi
jl 0x401499
jmp 0x401d6a
lea edx, [esp + 0x28]
lea eax, [esp + 0x2c]
push edx
mov edx, dword [esp + 0x5c]
lea ecx, [esp + 0x34]
push eax
mov eax, dword [edx + esi*4]
push ecx
push 0x41c704
push eax
call fcn.0040db04
add esp, 0x14
cmp eax, 3
je 0x401b70
lea ecx, [esp + 0x30]
lea edx, [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x30]
push edx
mov edx, dword [ecx + esi*4]
push eax
push 0x41c6f8
push edx
call fcn.0040db04
add esp, 0x14
cmp eax, 3
jne 0x401b8c
mov ecx, dword [esp + 0x2c]
cmp ecx, 1
jl 0x401b8c
cmp ecx, 0xc
jg 0x401b8c
mov eax, dword [esp + 0x28]
cmp eax, 1
jl 0x401b8c
cmp eax, 0x1f
jle 0x401bb4
mov eax, dword [esp + 0x24]
cmp eax, 0x41ec30
mov eax, 0x41c6d4
je 0x401ba1
mov eax, 0x41c6b0
push eax
push 0x10
call section..text
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
add esp, 8
push ebx
push ebx
push ebx
push eax
mov eax, dword [esp + 0x40]
push ecx
push eax
call fcn.00408870
mov ecx, dword [esp + 0x3c]
add esp, 0x18
mov dword [ecx], eax
mov eax, dword [0x46a55c]
cmp eax, ebx
je 0x401bea
mov ecx, dword [esp + 0x14]
xor edx, edx
cmp ecx, ebx
setg dl
add edx, 3
mov ebp, edx
jmp case.0x4019b8.5
xor ebp, ebp
jmp case.0x4019b8.5
mov eax, dword [0x41b0f4]
cmp eax, 1
je 0x401c0d
cmp eax, 2
je 0x401c0d
push 1
push edi
call fcn.0040c120
add esp, 8
jmp 0x401c16
push edi
call fcn.0040ba00
add esp, 4
cmp eax, ebx
je 0x401c44
cmp eax, 0xffffffff
jne 0x401c33
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + esi*4]
push ecx
push 0x41c760
call fcn.00401340
jmp 0x401c41
mov edx, dword [esp + 0x58]
mov ecx, dword [edx + esi*4]
push ecx
push eax
call section..text
add esp, 8
cmp ebp, 3
jne case.0x4019b8.5
mov dword [esp + 0x14], esi
mov ebp, 4
jmp case.0x4019b8.5
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
push ecx
call fcn.0040db38
mov edx, eax
add esp, 4
cmp edx, ebx
mov dword [0x41f0c0], edx
jne 0x401c8e
push 0x41c710
push 4
call section..text
mov edx, dword [0x41f0c0]
add esp, 8
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x10]
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
rep movsb byte es:[edi], byte [esi]
cmp dword [0x46a55c], ebx
je 0x401b02
mov edx, dword [esp + 0x14]
xor ecx, ecx
cmp edx, ebx
setg cl
add ecx, 3
mov ebp, ecx
jmp 0x401b04
call fcn.004037e0
push ebx
call fcn.00403650
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
call fcn.004037c0
push ebx
call fcn.00403650
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov eax, dword [0x41b0f4]
cmp eax, 1
je 0x401d23
cmp eax, 2
je 0x401d23
push 1
push 0x41c6ac
call fcn.0040c120
add esp, 8
jmp 0x401d30
push 0x41c6ac
call fcn.0040ba00
add esp, 4
cmp eax, ebx
je 0x401d5e
cmp eax, 0xffffffff
jne 0x401d4d
mov edx, dword [esp + 0x58]
mov eax, dword [edx + esi*4]
push eax
push 0x41c760
call fcn.00401340
jmp 0x401d5b
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + esi*4]
push edx
push eax
call section..text
add esp, 8
cmp dword [esp + 0x14], ebx
jne 0x401d83
mov dword [esp + 0x14], esi
jmp 0x401d83
cmp ebp, 7
je 0x401d74
cmp ebp, 1
jne 0x401d83
push 0x41c68c
push 0x10
call section..text
add esp, 8
cmp dword [0x41f0d8], ebx
je 0x401db4
cmp dword [esp + 0x14], ebx
jne 0x401db4
cmp ebp, 3
jl 0x401da5
mov eax, dword [0x41b0f4]
cmp eax, 2
je 0x401db4
cmp eax, 3
je 0x401db4
push 0x41c674
push 0x10
call section..text
add esp, 8
cmp ebp, 3
jge 0x401e0a
call fcn.004039c0
push ebx
push 0x41c790
mov dword [esp + 0x24], ebx
call fcn.0040c120
add esp, 8
cmp eax, ebx
je 0x401df3
cmp eax, 0xffffffff
push 0x41c790
jne 0x401dea
push 0x41c760
call fcn.00401340
jmp 0x401df0
push eax
call section..text
add esp, 8
cmp dword [esp + 0x20], ebx
je 0x401e56
push 0x41c774
push 0x10
call section..text
add esp, 8
jmp 0x401e56
cmp ebp, 4
je 0x401e56
cmp dword [esp + 0x14], ebx
jne 0x401e56
mov eax, dword [0x41b0f4]
cmp eax, 2
je 0x401e24
cmp eax, 3
jne 0x401e56
mov esi, dword [0x41f0c8]
cmp esi, ebx
je 0x401e56
mov eax, dword [0x41f0d8]
test eax, eax
je 0x401e47
mov eax, dword [esi + 0x4c]
push 0
push eax
call fcn.00408260
add esp, 8
jmp 0x401e4c
mov eax, 1
mov dword [esi + 0x50], eax
mov esi, dword [esi + 0x5c]
test esi, esi
jne 0x401e2e
call fcn.00407fe0
xor ebx, ebx
cmp eax, ebx
je 0x401e7c
cmp eax, 0x10
jne 0x401e6e
push 0x41c654
push eax
jmp 0x401e74
push 0x41c634
push eax
call section..text
add esp, 8
cmp dword [0x46a554], ebx
je 0x401e93
mov ecx, dword [0x46a548]
push ecx
call fcn.0040d38c
add esp, 4
mov edi, dword [0x41d25c]
cmp edi, ebx
jne 0x401eb2
push 0x41c620
push 0x10
call section..text
mov edi, dword [0x41d25c]
add esp, 8
cmp dword [0x41d24c], 9
je 0x401f23
mov esi, 0x41c61c
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x401ee6
test dl, dl
je 0x401ee2
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x401ee6
add ecx, 2
add esi, 2
test dl, dl
jne 0x401ec2
xor ecx, ecx
jmp 0x401eeb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
je 0x401f23
mov esi, 0x41c618
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401f1a
test cl, cl
je 0x401f16
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401f1a
add eax, 2
add esi, 2
test cl, cl
jne 0x401ef6
xor eax, eax
jmp 0x401f1f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x401f29
mov dword [0x41d25c], ebx
cmp dword [0x41b0f4], ebx
jne 0x401fad
mov eax, dword [0x41d248]
or esi, 0xffffffff
cmp eax, esi
jne 0x401f65
cmp dword [0x41f094], ebx
jne 0x401f65
cmp dword [0x41f090], ebx
jne 0x401f65
cmp dword [0x41f0c0], ebx
jne 0x401f65
cmp dword [0x41ec20], ebx
jne 0x401f65
cmp dword [0x41ec24], ebx
je 0x401fad
push 0x41ec44
push 0x41c5ec
call fcn.00401340
mov eax, dword [0x41f0c0]
add esp, 8
cmp eax, ebx
mov dword [0x41d248], esi
mov dword [0x41f094], ebx
mov dword [0x41f090], ebx
je 0x401f9b
push eax
call fcn.0040d38c
add esp, 4
mov dword [0x41f0c0], ebx
mov dword [0x41ec20], ebx
mov dword [0x41ec24], ebx
cmp dword [0x41f0b8], ebx
je 0x401fd5
cmp dword [0x41f098], ebx
je 0x401fd5
push 0x41ec44
push 0x41c5c8
call fcn.00401340
add esp, 8
mov dword [0x41f0b8], ebx
cmp dword [0x41f0a0], ebx
je 0x401ff7
cmp dword [0x41f0a4], ebx
je 0x401ff7
push 0x41ec44
push 0x41c5a4
call fcn.00401340
add esp, 8
cmp dword [0x41ec34], ebx
je 0x40204e
mov eax, dword [0x46a55c]
mov esi, 0x41c790
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40202d
test cl, cl
je 0x402029
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40202d
add eax, 2
add esi, 2
test cl, cl
jne 0x402009
xor eax, eax
jmp 0x402032
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x40204e
push 0x41ec44
push 0x41c580
mov dword [0x41ec34], ebx
call fcn.00401340
add esp, 8
cmp dword [0x41b0f4], 1
jne 0x40205d
cmp dword [esp + 0x18], ebx
je 0x4020a3
mov eax, dword [0x46a55c]
mov esi, 0x41c790
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40208b
test cl, cl
je 0x402087
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40208b
add eax, 2
add esi, 2
test cl, cl
jne 0x402067
xor eax, eax
jmp 0x402090
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x4020a3
push 0x41c55c
push 0x10
call section..text
add esp, 8
cmp dword [0x46a554], ebx
jne 0x4020cd
cmp dword [0x41b0f4], 1
jne 0x4020ba
cmp dword [esp + 0x18], ebx
je 0x4020cd
mov eax, dword [0x46a55c]
push 0x41c548
push eax
call fcn.00401340
add esp, 8
cmp dword [0x41f0c4], ebx
jne 0x402181
mov ecx, dword [0x46a55c]
push 0x2f
push ecx
call fcn.00409250
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x40211d
mov edx, dword [0x46a55c]
push 0x5c
push edx
call fcn.00409250
mov ebp, eax
add esp, 8
cmp ebp, ebx
jne 0x40211d
mov eax, dword [0x46a55c]
push 0x3a
push eax
call fcn.00409250
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x402181
cmp byte [ebp], 0x3a
jne 0x402124
inc ebp
mov eax, dword [0x46a55c]
mov ecx, ebp
sub ecx, eax
inc ecx
push ecx
call fcn.0040db38
add esp, 4
cmp eax, ebx
mov dword [0x41f0c4], eax
jne 0x40214f
push 0x41c710
push 4
call section..text
add esp, 8
movsx edx, byte [ebp]
mov byte [ebp], 0
mov edi, dword [0x46a55c]
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 [0x41f0c4]
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 edi, dword [0x41f0c8]
xor ebp, ebp
cmp edi, ebx
mov dword [esp + 0x2c], ebp
je 0x402290
cmp dword [edi + 0x50], ebx
je 0x402281
cmp dword [0x41b0f4], ebx
je 0x402280
mov edx, dword [edi + 0x38]
lea ecx, [esp + 0x38]
push ecx
push ebx
push ebx
push edx
call fcn.0040c7c0
mov esi, eax
add esp, 0x10
cmp esi, ebx
je 0x402218
cmp esi, dword [0x41ec2c]
jb 0x402218
mov eax, dword [0x41ec30]
cmp eax, ebx
je 0x4021d8
cmp esi, eax
jae 0x402218
mov eax, dword [0x41b0f4]
cmp eax, 2
je 0x4021eb
cmp eax, 3
jne 0x402280
lea eax, [esp + 0x44]
push eax
push edi
call fcn.00406cd0
add esp, 8
test al, 1
je 0x40220e
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x48]
xor eax, eax
cmp ecx, edx
setle al
jmp 0x402214
cmp dword [edi + 8], esi
sbb eax, eax
inc eax
cmp eax, ebx
je 0x402280
mov edx, dword [0x41ec20]
neg edx
sbb edx, edx
and edx, 2
cmp esi, ebx
mov dword [edi + 0x50], edx
je 0x402248
cmp esi, dword [0x41ec2c]
jb 0x402248
mov eax, dword [0x41ec30]
cmp eax, ebx
je 0x402241
cmp esi, eax
jae 0x402248
mov eax, 1
jmp 0x40224a
xor eax, eax
mov dword [edi + 0x54], eax
mov ecx, dword [0x41f09c]
cmp ecx, ebx
je 0x402281
cmp eax, ebx
mov eax, 0x41c53c
jne 0x402265
mov eax, 0x41c528
mov ecx, dword [0x46a54c]
push eax
mov eax, dword [edi + 0x4c]
push eax
push 0x41c510
push ecx
call fcn.0040d411
add esp, 0x10
jmp 0x402281
inc ebp
mov edi, dword [edi + 0x5c]
cmp edi, ebx
jne 0x402195
mov dword [esp + 0x2c], ebp
mov edi, dword [0x41f0d0]
cmp edi, ebx
je 0x402348
mov eax, dword [0x41b0f4]
test eax, eax
je 0x402335
cmp eax, 3
je 0x402335
mov edx, dword [edi]
push 0
push 0
push 0
push edx
call fcn.0040c7c0
add esp, 0x10
test eax, eax
je 0x402335
cmp eax, dword [0x41ec2c]
jb 0x402335
mov ecx, dword [0x41ec30]
test ecx, ecx
je 0x4022df
cmp eax, ecx
jae 0x402335
mov eax, dword [0x46a55c]
mov ecx, dword [edi + 8]
push eax
push ecx
call fcn.00409170
add esp, 8
test eax, eax
jne 0x402330
mov eax, dword [0x46a55c]
mov esi, 0x41c790
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x402327
test cl, cl
je 0x402323
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x402327
add eax, 2
add esi, 2
test cl, cl
jne 0x4022ff
xor eax, eax
jmp 0x40232c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x402335
mov edi, dword [edi + 0x14]
jmp 0x402340
push edi
call fcn.00407dc0
add esp, 4
mov edi, eax
test edi, edi
jne 0x40229e
mov eax, dword [esp + 0x2c]
mov edx, dword [0x41f0c8]
xor ebp, ebp
cmp eax, ebp
jne 0x402439
cmp dword [0x41f0d0], ebp
jne 0x402439
mov ecx, dword [0x41ec3c]
mov eax, dword [0x41ec28]
cmp edx, ebp
je 0x4023b7
cmp eax, ebp
jne 0x402439
cmp dword [0x41f0a0], ebp
jne 0x402439
cmp dword [0x41f0a4], ebp
jne 0x402439
cmp ecx, ebp
jne 0x402439
cmp dword [0x41ec20], ebp
jne 0x402439
cmp dword [0x41ec24], ebp
jne 0x402439
cmp dword [0x41ec34], ebp
je 0x4023ef
cmp edx, ebp
jne 0x4023cb
cmp dword [0x46a9b4], ebp
je 0x4023ef
mov eax, dword [esp + 0x58]
mov edx, dword [0x46a55c]
mov ecx, dword [eax]
push ecx
push edx
call fcn.00403a40
push ebp
call fcn.00403650
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov esi, dword [0x41b0f4]
cmp esi, 2
je 0x4025fb
cmp esi, 3
je 0x4025fb
cmp edx, ebp
jne 0x40246e
cmp eax, ebp
jne 0x402423
cmp dword [0x41f0a0], ebp
jne 0x402423
cmp dword [0x41f0a4], ebp
jne 0x402423
cmp ecx, ebp
je 0x40246e
mov eax, dword [0x46a55c]
push eax
push 0xd
call section..text
add esp, 8
mov edx, dword [0x41f0c8]
mov eax, dword [esp + 0x18]
mov edi, dword [0x46a9b4]
cmp eax, ebp
je 0x40260d
cmp dword [esp + 0x2c], ebp
jne 0x40260d
cmp edi, ebp
jne 0x402461
cmp edx, ebp
je 0x40260d
mov dword [esp + 0x18], 1
jmp 0x402611
cmp dword [0x41f090], ebp
je 0x4025ee
cmp dword [0x41f0d8], ebp
jne 0x4025ee
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jle 0x4025ee
mov eax, dword [0x41c508]
mov edx, dword [0x41c504]
mov dword [0x46a564], eax
mov dword [0x46a560], edx
mov dl, byte [0x41c50c]
mov eax, 1
cmp ecx, eax
mov byte [0x46a568], dl
mov dword [esp + 0x10], eax
jle 0x40252f
mov ecx, dword [esp + 0x58]
mov edi, 0x41c500
mov edx, dword [ecx + eax*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, 0x46a560
mov ebx, ecx
mov ebp, edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
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 eax, dword [esp + 0x10]
mov ecx, edx
mov edx, dword [esp + 0x14]
and ecx, 3
inc eax
cmp eax, edx
mov dword [esp + 0x10], eax
rep movsb byte es:[edi], byte [esi]
jl 0x4024c1
jmp 0x402533
mov edx, dword [esp + 0x14]
mov edi, 0x41c4f8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, 0x46a560
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov eax, edx
and ecx, 3
mov dword [esp + 0x10], eax
rep movsb byte es:[edi], byte [esi]
cmp edx, dword [esp + 0x54]
jge 0x4025d8
mov ecx, dword [esp + 0x58]
mov edi, 0x41c500
mov edx, dword [ecx + eax*4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, 0x46a560
mov ebx, ecx
mov ebp, edi
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
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 eax, dword [esp + 0x10]
mov ecx, edx
and ecx, 3
inc eax
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
cmp eax, ecx
jl 0x40256c
push 0x46a560
push 0xc
call section..text
add esp, 8
xor ebp, ebp
jmp 0x402433
mov eax, dword [0x46a55c]
push eax
push 0xc
jmp 0x40242b
push 0xc
call fcn.00403650
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret
mov dword [esp + 0x18], ebp
mov eax, dword [0x46a55c]
mov esi, 0x41c790
mov bl, byte [eax]
mov cl, bl
cmp bl, byte [esi]
jne 0x40263f
test cl, cl
je 0x40263b
mov bl, byte [eax + 1]
mov cl, bl
cmp bl, byte [esi + 1]
jne 0x40263f
add eax, 2
add esi, 2
test cl, cl
jne 0x40261b
xor eax, eax
jmp 0x402644
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
je 0x402658
cmp dword [0x41ec38], ebp
je 0x4026b1
cmp edx, ebp
jne 0x4026c7
cmp edi, ebp
jne 0x4026c7
mov dword [esp + 0x28], ebp
cmp dword [0x41ec3c], ebp
je 0x40266c
xor edi, edi
mov dword [0x46a9b4], edi
mov eax, dword [0x46a55c]
xor ebx, ebx
mov dword [esp + 0x24], ebx
mov dword [0x46a550], ebp
mov esi, 0x41c790
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40273f
test cl, cl
je 0x4026aa
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40273f
add eax, 2
add esi, 2
test cl, cl
jne 0x402682
xor eax, eax
jmp 0x402744
cmp edx, ebp
jne 0x4026c7
cmp edi, ebp
jne 0x4026c7
mov ecx, dword [0x46a55c]
push 0x41c4f4
push ecx
jmp 0x4026d3
mov edx, dword [0x46a55c]
push 0x41c4f0
push edx
call fcn.0040daf1
mov esi, eax
add esp, 8
cmp esi, ebp
jne 0x4026f1
mov eax, dword [0x46a55c]
push eax
push 0xf
call section..text
add esp, 8
push esi
call fcn.0040d3bb
mov ecx, dword [0x46a55c]
push ecx
call fcn.00408ad0
mov edi, dword [0x46a9b4]
mov dword [esp + 0x30], eax
mov eax, dword [0x41f0c8]
add esp, 8
cmp eax, ebp
jne 0x40265c
cmp edi, ebp
jne 0x40265c
mov edx, dword [0x46a55c]
push edx
call fcn.00408990
mov edi, dword [0x46a9b4]
add esp, 4
jmp 0x40265c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4027e7
push 0x41d7d8
call fcn.00416cc2
push eax
call fcn.00411759
add esp, 8
test eax, eax
je 0x402772
push 0x41c4c0
push 5
call section..text
add esp, 8
push 0x8000
push 0x41d7d8
call fcn.00416cc2
add esp, 4
push eax
call fcn.004164ab
add esp, 8
push 0x41c4f4
push 0x41d7d8
call fcn.00416cc2
add esp, 4
push eax
call fcn.00416be6
mov ebp, eax
push 4
mov dword [esp + 0x20], ebp
mov dword [0x41ec18], ebp
call fcn.0040db38
add esp, 0xc
mov dword [0x41ec1c], eax
test eax, eax
jne 0x4027d8
push 0x41c4a4
push 4
call section..text
mov eax, dword [0x41ec1c]
add esp, 8
mov cx, word [0x41c790]
mov word [eax], cx
jmp 0x40290e
mov eax, dword [esp + 0x18]
test eax, eax
je 0x402879
mov edx, dword [0x46a55c]
push 0x41c4f0
push edx
call fcn.0040daf1
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x14], ebp
jne 0x402821
mov eax, dword [0x46a55c]
push eax
push 0xd
call section..text
add esp, 8
mov edx, dword [0x46a540]
mov ecx, dword [0x46a55c]
push 0
push edx
push ebp
mov dword [0x41ec1c], ecx
mov dword [0x41ec18], ebp
call fcn.0040d300
add esp, 0xc
test eax, eax
je 0x402868
mov ecx, dword [ebp + 0xc]
mov eax, dword [0x46a55c]
and cl, 0x20
push eax
neg cl
sbb ecx, ecx
and ecx, 9
add ecx, 2
push ecx
call section..text
add esp, 8
mov edx, dword [0x46a540]
mov dword [0x46a550], edx
jmp 0x40290e
mov eax, dword [0x41f0c8]
test eax, eax
jne 0x402886
test edi, edi
je 0x4028b4
mov eax, dword [0x46a55c]
push 0x41c4a0
push eax
call fcn.0040daf1
mov ebx, eax
add esp, 8
test ebx, ebx
mov dword [esp + 0x24], ebx
jne 0x4028b4
mov ecx, dword [0x46a55c]
push ecx
push 0xd
call section..text
add esp, 8
mov edx, dword [0x46a55c]
push edx
call fcn.00408b20
add esp, 4
mov dword [0x41ec1c], eax
test eax, eax
jne 0x4028e0
push 0x41c4a4
push 4
call section..text
mov eax, dword [0x41ec1c]
add esp, 8
push 0x41c4f4
push eax
call fcn.0040daf1
mov ebp, eax
add esp, 8
test ebp, ebp
mov dword [esp + 0x14], ebp
mov dword [0x41ec18], ebp
jne 0x40290e
mov eax, dword [0x41ec1c]
push eax
push 0xa
call section..text
add esp, 8
push 0x4000
call fcn.0040db38
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x34], esi
jne 0x402936
mov ecx, dword [0x41ec1c]
push ecx
push 4
call section..text
add esp, 8
push 0x4000
push 0
push esi
push ebp
call fcn.0040da30
mov eax, dword [0x46a55c]
add esp, 0x10
mov esi, 0x41c790
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x402975
test cl, cl
je 0x402971
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x402975
add eax, 2
add esi, 2
test cl, cl
jne 0x402951
xor eax, eax
jmp 0x40297a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4029c3
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4029c3
mov eax, dword [0x46a9b4]
test eax, eax
je 0x4029b9
push eax
push ebp
push ebx
call fcn.00408c10
add esp, 0xc
test eax, eax
je 0x4029b9
mov ecx, dword [0x41ec1c]
cmp eax, 0xa
je 0x4029af
mov ecx, dword [0x46a55c]
push ecx
push eax
call section..text
add esp, 8
mov eax, dword [0x46a9b4]
mov dword [0x46a550], eax
mov esi, dword [0x41f0c8]
mov ebx, 0x41f0c8
test esi, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x2c], ebx
je 0x402c91
cmp dword [esi + 0x50], 1
jne 0x402c42
mov eax, dword [0x41b0f4]
test eax, eax
je 0x402ba6
mov ecx, dword [0x41d254]
test ecx, ecx
je 0x402a41
cmp eax, 3
jne 0x402a1a
mov ecx, dword [esi + 0x4c]
mov edx, dword [0x46a54c]
push ecx
push 0x41c490
push edx
jmp 0x402a2a
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x46a54c]
push eax
push 0x41c480
push ecx
call fcn.0040d411
mov edx, dword [0x46a54c]
add esp, 0xc
push edx
call fcn.0040d4fc
add esp, 4
push ebp
push esi
call fcn.00407210
mov edi, eax
add esp, 8
test edi, edi
je 0x402ac5
cmp edi, 0x12
je 0x402ad3
cmp edi, 0xffffffff
je 0x402ac5
mov eax, dword [0x41d254]
test eax, eax
je 0x402aa4
mov eax, dword [0x46a54c]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x46a54c]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x402a8a
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x46a54c]
inc dword [eax]
jmp 0x402a95
push eax
push 0xa
call fcn.0040d91b
add esp, 8
mov ecx, dword [0x46a54c]
push ecx
call fcn.0040d4fc
add esp, 4
mov edx, dword [esi + 0x38]
push edx
push 0x41c470
push 0x46a560
call fcn.0040dbac
push 0x46a560
push edi
call section..text
add esp, 0x14
cmp edi, 0x12
je 0x402ad3
cmp edi, 0xffffffff
jne 0x402c80
mov eax, dword [0x41d254]
mov dword [esp + 0x10], 1
test eax, eax
je 0x402b24
mov eax, dword [0x46a54c]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x46a54c]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x402b0a
mov eax, dword [eax]
mov byte [eax], 0xa
mov eax, dword [0x46a54c]
inc dword [eax]
jmp 0x402b15
push eax
push 0xa
call fcn.0040d91b
add esp, 8
mov ecx, dword [0x46a54c]
push ecx
call fcn.0040d4fc
add esp, 4
cmp edi, 0x12
jne 0x402b45
mov edx, dword [esi + 0x4c]
push edx
call fcn.0040d609
mov eax, dword [esi + 0x4c]
push eax
push 0x41c450
call fcn.00401340
add esp, 0xc
jmp 0x402b56
mov ecx, dword [esi + 0x4c]
push ecx
push 0x41c428
call fcn.00401340
add esp, 8
mov edx, dword [esi + 0x4c]
push edx
push 0x41c40c
call fcn.00401340
mov eax, dword [esp + 0x2c]
push ebp
push eax
push esi
call fcn.00406bd0
mov edi, eax
add esp, 0x14
test edi, edi
je 0x402b9a
mov ecx, dword [esi + 0x4c]
push ecx
push 0x41c3fc
push 0x46a560
call fcn.0040dbac
push 0x46a560
push edi
call section..text
add esp, 0x14
mov dword [esi + 0x50], 0
jmp 0x402c80
mov eax, dword [0x41d254]
test eax, eax
je 0x402bd2
mov edx, dword [esi + 0x4c]
mov eax, dword [0x46a54c]
push edx
push 0x41c3ec
push eax
call fcn.0040d411
mov ecx, dword [0x46a54c]
push ecx
call fcn.0040d4fc
add esp, 0x10
mov edx, dword [esi + 0x48]
mov edi, dword [esi + 0x5c]
push edx
call fcn.0040d38c
mov eax, dword [esi + 0x4c]
push eax
call fcn.0040d38c
mov eax, dword [esi + 0x1c]
add esp, 8
test eax, eax
je 0x402bfd
mov ecx, dword [esi + 0x3c]
push ecx
call fcn.0040d38c
add esp, 4
mov eax, dword [esi + 0x20]
test eax, eax
je 0x402c17
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x3c]
cmp eax, ecx
je 0x402c17
push eax
call fcn.0040d38c
add esp, 4
mov eax, dword [esi + 0x24]
test eax, eax
je 0x402c2a
mov edx, dword [esi + 0x44]
push edx
call fcn.0040d38c
add esp, 4
push esi
call fcn.0040d38c
mov dword [ebx], edi
mov eax, dword [0x46a554]
add esp, 4
dec eax
mov dword [0x46a554], eax
jmp 0x402c83
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x402c80
mov eax, dword [esp + 0x24]
push ebp
push eax
push esi
call fcn.00406bd0
mov edi, eax
add esp, 0xc
test edi, edi
je 0x402c80
mov ecx, dword [esi + 0x4c]
push ecx
push 0x41c3fc
push 0x46a560
call fcn.0040dbac
push 0x46a560
push edi
call section..text
add esp, 0x14
lea ebx, [esi + 0x5c]
mov esi, dword [ebx]
test esi, esi
jne 0x4029e2
mov dword [esp + 0x2c], ebx
mov edi, dword [0x41f0d0]
test edi, edi
je 0x402e91
push 0x60
call fcn.0040db38
mov esi, eax
xor ebp, ebp
add esp, 4
cmp esi, ebp
jne 0x402cc0
push 0x41c3cc
push 4
call section..text
add esp, 8
lea ebx, [esi + 0x5c]
mov dword [ebx], ebp
mov edx, dword [edi]
mov dword [esi + 0x38], edx
mov eax, dword [edi + 4]
mov dword [edi], ebp
mov dword [esi + 0x48], eax
mov ecx, dword [edi + 8]
mov dword [edi + 4], ebp
mov dword [esi + 0x4c], ecx
mov dword [edi + 8], ebp
mov dword [esi + 0x24], ebp
mov dword [esi + 0x20], ebp
mov dword [esi + 0x1c], ebp
mov dword [esi + 0x40], ebp
mov dword [esi + 0x3c], ebp
mov dword [esi + 0x50], 1
mov edx, dword [edi + 0xc]
mov dword [esi + 0x58], edx
mov eax, dword [0x41d254]
cmp eax, ebp
je 0x402d27
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x46a54c]
push eax
push 0x41c3bc
push ecx
call fcn.0040d411
mov edx, dword [0x46a54c]
push edx
call fcn.0040d4fc
add esp, 0x10
mov eax, dword [esp + 0x14]
push eax
push esi
call fcn.00407210
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x402db3
cmp ebp, 0x12
je 0x402dd7
cmp ebp, 0xffffffff
je 0x402db3
mov eax, dword [0x41d254]
test eax, eax
je 0x402d92
mov eax, dword [0x46a54c]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x46a54c]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x402d78
mov ecx, dword [eax]
mov byte [ecx], 0xa
mov eax, dword [0x46a54c]
inc dword [eax]
jmp 0x402d83
push eax
push 0xa
call fcn.0040d91b
add esp, 8
mov edx, dword [0x46a54c]
push edx
call fcn.0040d4fc
add esp, 4
mov eax, dword [esi + 0x4c]
push eax
push 0x41c470
push 0x46a560
call fcn.0040dbac
push 0x46a560
push ebp
call section..text
add esp, 0x14
cmp ebp, 0x12
je 0x402dd7
cmp ebp, 0xffffffff
je 0x402dd7
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
mov dword [ecx], esi
mov eax, dword [0x46a554]
inc eax
mov dword [0x46a554], eax
jmp 0x402e7e
mov eax, dword [0x41d254]
mov dword [esp + 0x10], 1
test eax, eax
je 0x402e27
mov eax, dword [0x46a54c]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x46a54c]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x402e0e
mov edx, dword [eax]
mov byte [edx], 0xa
mov eax, dword [0x46a54c]
inc dword [eax]
jmp 0x402e19
push eax
push 0xa
call fcn.0040d91b
add esp, 8
mov eax, dword [0x46a54c]
push eax
call fcn.0040d4fc
add esp, 4
cmp ebp, 0x12
jne 0x402e49
push 0x41c3b0
call fcn.0040d609
mov ecx, dword [esi + 0x4c]
push ecx
push 0x41c450
call fcn.00401340
add esp, 0xc
jmp 0x402e5a
mov edx, dword [esi + 0x4c]
push edx
push 0x41c428
call fcn.00401340
add esp, 8
mov eax, dword [esi + 0x38]
push eax
call fcn.0040d38c
mov ecx, dword [esi + 0x48]
push ecx
call fcn.0040d38c
mov edx, dword [esi + 0x4c]
push edx
call fcn.0040d38c
push esi
call fcn.0040d38c
add esp, 0x10
push edi
call fcn.00407dc0
mov edi, eax
add esp, 4
test edi, edi
jne 0x402c9f
mov eax, dword [0x41f0c0]
test eax, eax
je 0x402ead
push eax
call fcn.0040d38c
add esp, 4
mov dword [0x41f0c0], 0
mov eax, dword [0x41ec20]
mov ebx, dword [esp + 0x1c]
test eax, eax
je 0x402fec
test ebx, ebx
jne 0x402ee3
push 0x41c3ac
push 0x41d7f8
call fcn.00416cc2
add esp, 4
push eax
call fcn.00416be6
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
push 0x101
call fcn.0040db38
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x20], edi
jne 0x402f09
push 0x41c390
push 4
call section..text
add esp, 8
mov esi, dword [0x41f0c8]
test esi, esi
mov dword [esp + 0x2c], esi
je 0x402fe3
mov eax, dword [esi + 0x50]
test eax, eax
je 0x402fd4
mov eax, dword [0x41d254]
test eax, eax
je 0x402f47
mov eax, dword [esi + 0x4c]
mov ecx, dword [0x46a54c]
push eax
push 0x41c378
push ecx
call fcn.0040d411
add esp, 0xc
push ebx
push 0x101
push edi
call fcn.0040d8c4
add esp, 0xc
test eax, eax
je 0x402fd4
mov esi, dword [esp + 0x20]
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.0040db38
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x402f93
push esi
call fcn.0040d38c
push 0x41c390
push 4
call section..text
add esp, 0xc
mov edi, dword [esp + 0x20]
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 0x402fc0
dec ebx
mov byte [ebx + ebp], 0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x20]
mov esi, eax
mov dword [eax + 0x24], ebx
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x44], ebp
mov esi, dword [esi + 0x5c]
test esi, esi
mov dword [esp + 0x2c], esi
jne 0x402f1b
push edi
call fcn.0040d38c
add esp, 4
mov eax, dword [0x41ec24]
test eax, eax
je 0x4032c7
test ebx, ebx
jne 0x40301e
push 0x41c3ac
push 0x41d7f8
call fcn.00416cc2
add esp, 4
push eax
call fcn.00416be6
mov ebx, eax
add esp, 8
mov dword [esp + 0x1c], ebx
push 0x101
call fcn.0040db38
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x20], ebp
jne 0x403044
push 0x41c390
push 4
call section..text
add esp, 8
mov eax, dword [0x41d254]
test eax, eax
je 0x4030df
mov eax, dword [0x46a558]
test eax, eax
je 0x4030df
mov ecx, dword [0x46a54c]
push ecx
push 0x41c358
call fcn.0040d881
mov edx, dword [0x46a54c]
mov eax, dword [0x46a558]
mov ecx, dword [0x41f0cc]
push edx
push eax
push 1
push ecx
call fcn.0040d777
mov edx, dword [0x46a558]
mov eax, dword [0x41f0cc]
add esp, 0x18
cmp byte [eax + edx - 1], 0xa
je 0x4030d0
mov eax, dword [0x46a54c]
mov edx, dword [eax + 4]
dec edx
mov dword [eax + 4], edx
mov eax, dword [0x46a54c]
mov ecx, dword [eax + 4]
test ecx, ecx
jl 0x4030c5
mov ecx, dword [eax]
mov byte [ecx], 0xa
mov eax, dword [0x46a54c]
inc dword [eax]
jmp 0x4030d0
push eax
push 0xa
call fcn.0040d91b
add esp, 8
mov edx, dword [0x41f0cc]
push edx
call fcn.0040d38c
add esp, 4
push 1
call fcn.0040db38
add esp, 4
mov dword [0x41f0cc], eax
test eax, eax
jne 0x403106
push 0x41c338
push 4
call section..text
mov eax, dword [0x41f0cc]
add esp, 8
mov byte [eax], 0
mov eax, dword [0x41d254]
test eax, eax
je 0x403125
mov eax, dword [0x46a54c]
push eax
push 0x41c30c
call fcn.0040d881
add esp, 8
push ebx
push 0x101
push ebp
call fcn.0040d8c4
add esp, 0xc
test eax, eax
je 0x4032a8
mov esi, 0x41c308
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40316b
test cl, cl
je 0x403167
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40316b
add eax, 2
add esi, 2
test cl, cl
jne 0x403143
xor eax, eax
jmp 0x403170
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4032a8
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 0x403192
dec edx
mov byte [edx + ebp], 0
mov edi, dword [0x41f0cc]
cmp byte [edi], 0
je 0x4031ab
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
add ecx, 2
jmp 0x4031b0
mov ecx, 1
add ecx, edx
push ecx
call fcn.0040db38
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x4031d6
push ebp
call fcn.0040d38c
push 0x41c390
push 4
call section..text
add esp, 0xc
mov edi, dword [0x41f0cc]
cmp byte [edi], 0
je 0x403250
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, 0x41c304
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 + 0x20]
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 0x403276
mov al, byte [ebp]
mov edi, ebp
test al, al
jne 0x40325e
mov edi, 0x41c304
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 [0x41f0cc]
push ecx
call fcn.0040d38c
mov edx, dword [esp + 0x20]
mov dword [0x41f0cc], ebx
push edx
push 0x101
push ebp
call fcn.0040d8c4
add esp, 0x10
test eax, eax
jne 0x40313c
push ebp
call fcn.0040d38c
mov edi, dword [0x41f0cc]
or ecx, 0xffffffff
xor eax, eax
add esp, 4
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [0x46a558], ecx
mov esi, dword [0x41f0c8]
mov eax, dword [0x46a550]
xor ebp, ebp
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x30], eax
test esi, esi
je 0x403334
mov ecx, dword [esp + 0x14]
push ecx
push esi
call fcn.00406090
add esp, 8
test eax, eax
je 0x403302
mov edx, dword [0x41ec1c]
push edx
push eax
call section..text
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 [0x46a550]
lea eax, [ecx + eax + 0x2e]
mov dword [0x46a550], eax
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
mov esi, dword [esi + 0x5c]
add edi, edx
add ebx, ecx
inc ebp
test esi, esi
jne 0x4032e0
test ebp, ebp
jne 0x40334b
push 0x41ec44
push 0x41c2f4
call fcn.00401340
mov eax, dword [0x46a550]
add esp, 8
mov ecx, dword [0x41f09c]
test ecx, ecx
je 0x403378
push ebx
push edi
call fcn.004071c0
mov edx, dword [0x46a54c]
push eax
push ebx
push edi
push 0x41c2c0
push edx
call fcn.0040d411
mov eax, dword [0x46a550]
add esp, 0x1c
mov esi, dword [esp + 0x14]
mov edx, dword [0x41f0cc]
mov ecx, dword [esp + 0x30]
push esi
push edx
mov edx, dword [0x46a558]
sub eax, ecx
push edx
push ecx
push eax
push ebp
call fcn.00406860
add esp, 0x18
test eax, eax
je 0x4033b0
mov ecx, dword [0x41ec1c]
push ecx
push eax
call section..text
add esp, 8
push esi
mov dword [0x41ec18], 0
call fcn.0040d3bb
add esp, 4
test eax, eax
je 0x4033e5
mov eax, dword [esp + 0x18]
mov edx, dword [0x41ec1c]
neg eax
sbb eax, eax
push edx
and eax, 4
add eax, 0xa
push eax
call section..text
add esp, 8
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4033f6
push eax
call fcn.0040d3bb
add esp, 4
call fcn.00409870
mov eax, dword [0x41ec34]
test eax, eax
je 0x403419
mov ecx, dword [esp + 0x58]
mov eax, dword [0x41ec1c]
mov edx, dword [ecx]
push edx
push eax
call fcn.00403a40
add esp, 8
mov ebp, dword [0x46a55c]
mov esi, 0x41c790
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x40344e
test cl, cl
je 0x40344a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x40344e
add eax, 2
add esi, 2
test cl, cl
jne 0x403426
xor eax, eax
jmp 0x403453
sbb eax, eax
sbb eax, 0xffffffff
xor ebx, ebx
cmp eax, ebx
je 0x4034b9
cmp dword [esp + 0x18], ebx
jne 0x4034b9
mov eax, dword [0x41ec1c]
push eax
push ebp
call fcn.004089a0
mov esi, eax
add esp, 8
cmp esi, ebx
je 0x4034a5
mov ecx, dword [0x41ec1c]
push ecx
push 0x41c2a8
call fcn.00401340
mov edx, dword [0x41ec1c]
push edx
call fcn.0040d38c
push 0x41c284
push esi
mov dword [0x41ec1c], ebx
call section..text
add esp, 0x14
mov eax, dword [0x41ec1c]
push eax
call fcn.0040d38c
mov ebp, dword [0x46a55c]
add esp, 4
mov edi, dword [esp + 0x28]
mov dword [0x41ec1c], ebx
cmp edi, ebx
je 0x403505
mov esi, 0x41c790
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4034f2
test cl, cl
je 0x4034ee
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4034f2
add eax, 2
add esi, 2
test cl, cl
jne 0x4034ce
xor eax, eax
jmp 0x4034f7
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x403505
push edi
push ebp
call fcn.00408b00
add esp, 8
mov eax, dword [esp + 0x34]
push eax
call fcn.0040d38c
mov eax, dword [esp + 0x14]
neg eax
sbb eax, eax
and eax, 0x12
push eax
call fcn.00403650
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret