Function at 0x42f8da
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
sub esp, 0x70
mov eax, 0x56c4b5
call fcn.00566548
sub esp, 0x24c
and dword [ebp - 0x140], 0
push ebx
mov ebx, ecx
push esi
push edi
mov dword [ebp + 0x68], ebx
mov ecx, dword [ebx]
test ecx, ecx
je 0x42f90d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebx], eax
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x42f91f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebx + 8], eax
mov ecx, dword [ebx + 0xc]
test ecx, ecx
je 0x42f931
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebx + 0xc], eax
lea ecx, [ebx + 0x78]
call fcn.0042dc21
or dword [ebx + 0x84], 0xffffffff
lea edx, [ebx + 0x18]
xor eax, eax
lea ecx, [ebp - 0x158]
mov byte [ebx + 0x10], al
mov dword [ebx + 0xd8], eax
mov dword [ebx + 0xdc], eax
call fcn.004065c4
xor eax, eax
lea ecx, [ebp - 0x9c]
mov dword [ebp - 4], eax
call fcn.0040260e
xor eax, eax
lea ecx, [ebp - 0x158]
inc eax
push 0x2e
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], al
call fcn.004039f1
test eax, eax
js 0x42f9a4
mov ecx, dword [ebp - 0x158]
add ecx, 2
lea eax, [ecx + eax*2]
push eax
lea ecx, [ebp - 0x9c]
call fcn.00402804
xor eax, eax
mov dword [ebp + 0x1c], eax
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], eax
mov edi, dword [ebp + 0x7c]
lea ecx, [ebp - 0x48]
mov byte [ebp + 0x73], al
mov byte [ebp - 4], 2
mov eax, dword [edi]
push dword [eax + 0xc]
call fcn.00406fec
mov eax, dword [edi]
xor edx, edx
mov esi, dword [ebp - 0x48]
mov ecx, edx
mov byte [ebp - 4], 3
cmp dword [eax + 0xc], edx
jbe 0x42f9e3
mov byte [ecx + esi], dl
inc ecx
mov eax, dword [edi]
cmp ecx, dword [eax + 0xc]
jb 0x42f9d8
cmp byte [edi + 0x1e], dl
je 0x42f9f6
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x74], ecx
mov ecx, dword [edi + 0x24]
mov dword [ebp - 0x70], ecx
jmp 0x42fa00
mov dword [ebp - 0x74], 0x800000
mov dword [ebp - 0x70], edx
mov eax, dword [edi + 8]
mov byte [ebp - 0x64], dl
mov dword [ebp - 0x28], eax
test eax, eax
js 0x42fa2f
push eax
lea ecx, [ebp + 0x1c]
call fcn.00406bdd
mov eax, dword [ebp - 0x28]
xor ecx, ecx
inc ecx
mov dword [ebp + 0x6c], ecx
mov byte [ebp + 0x73], cl
mov byte [eax + esi], cl
mov al, cl
mov esi, dword [ebp + 0x7c]
jmp 0x42fe9f
mov eax, dword [ebp - 0x9c]
mov ecx, edx
mov byte [ebp + 0x4c], dl
mov byte [ebp + 0x71], dl
mov byte [ebp + 0x63], dl
movzx edx, word [eax]
mov dword [ebp + 0x54], 0x7a
mov dword [ebp + 0x6c], ecx
mov dword [ebp - 0x14], 0x5a
mov dword [ebp - 0x54], 0x72
mov dword [ebp - 0x18], 0x52
cmp dx, word [ebp + 0x54]
je 0x42fa7a
cmp dx, word [ebp - 0x14]
je 0x42fa7a
cmp dx, word [ebp - 0x54]
je 0x42fa7a
cmp dx, word [ebp - 0x18]
jne 0x42fabc
add eax, 2
mov dword [ebp + 0x28], eax
movzx eax, word [eax]
test ax, ax
je 0x42fabc
add eax, 0xffffffd0
cmp ax, 9
ja 0x42fabc
mov eax, dword [ebp + 0x28]
add eax, 2
mov dword [ebp + 0x28], eax
movzx eax, word [eax]
test ax, ax
jne 0x42fa88
cmp dx, word [ebp + 0x54]
je 0x42fab6
cmp dx, word [ebp - 0x14]
je 0x42fab6
xor eax, eax
inc eax
mov byte [ebp + 0x63], al
jmp 0x42fabc
xor eax, eax
inc eax
mov byte [ebp + 0x71], al
xor eax, eax
mov edx, eax
mov dword [ebp + 0x40], eax
mov eax, dword [edi]
cmp dword [eax + 0xc], ecx
jbe 0x42fb8e
cmp byte [ebx + 0x17], 0
mov eax, dword [eax + 8]
mov eax, dword [eax + edx*4]
mov dword [ebp + 0x50], eax
jne 0x42fae3
cmp byte [edi + 0x19], 0
jne 0x42fafb
mov ecx, dword [eax + 0x10]
mov edx, str.Split
call fcn.00403e7d
mov edx, dword [ebp + 0x40]
test al, al
jne 0x42fb7c
mov ecx, dword [edi + 0x2c]
xor eax, eax
push dword [ecx + 4]
push eax
push edx
call fcn.0042e319
test eax, eax
jns 0x42fb79
mov ecx, dword [ebp + 0x50]
call fcn.0042efd7
mov ecx, dword [ebp + 0x4c]
test al, al
push 1
pop eax
movzx ecx, cl
cmovne ecx, eax
lea eax, [ebp - 0x9c]
mov dword [ebp + 0x4c], ecx
mov ecx, dword [ebp + 0x50]
push eax
call fcn.0042cb54
test eax, eax
jns 0x42fba8
cmp byte [ebp + 0x71], 0
je 0x42fb54
mov eax, dword [ebp + 0x50]
mov edx, 0x57a1b0
mov ecx, dword [eax + 0x10]
call fcn.00403e7d
test al, al
jne 0x42fba8
cmp byte [ebp + 0x63], 0
je 0x42fb6e
mov eax, dword [ebp + 0x50]
mov edx, 0x57a040
mov ecx, dword [eax + 0x10]
call fcn.00403e7d
test al, al
jne 0x42fba8
push dword [ebp + 0x40]
lea ecx, [ebp + 0x1c]
call fcn.00406bdd
mov edx, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x6c]
mov eax, dword [edi]
inc edx
mov dword [ebp + 0x40], edx
cmp edx, dword [eax + 0xc]
jb 0x42face
mov esi, dword [ebp + 0x7c]
cmp dword [esi + 0x30], 0
jne 0x42fbd0
xor eax, eax
inc eax
cmp ecx, eax
je 0x42fbc8
mov ebx, 0x80004001
jmp 0x43180c
push dword [ebp + 0x40]
lea ecx, [ebp + 0x1c]
push dword [ebp + 0x6c]
call fcn.00414c4e
mov ecx, dword [ebp + 0x6c]
xor eax, eax
mov edx, dword [ebp + 0x40]
inc ecx
inc eax
mov dword [ebp + 0x6c], ecx
mov byte [edx + esi], al
jmp 0x42fb7f
mov dword [ebp + 0x20], eax
jmp 0x42fe2f
cmp dword [ebp + 0x20], 2
jb 0x42fe83
mov ecx, dword [esi + 0x30]
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x43180c
mov edi, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov byte [ebp - 4], 5
cmp dword [ebp + 0x6c], eax
je 0x42fde6
mov ecx, dword [ebp - 0x9c]
mov edx, 0x57a024
call fcn.00403e7d
test al, al
jne 0x42fde6
mov ecx, dword [ebp - 0x9c]
mov edx, 0x57a2b4
call fcn.00403f0a
test al, al
jne 0x42fd05
mov ecx, dword [ebp - 0x9c]
mov edx, 0x57a2b8
call fcn.00403f0a
test al, al
jne 0x42fd05
xor eax, eax
mov ebx, 0x400
push ebx
mov dword [ebp - 0x1c], eax
call fcn.00566515
mov edi, eax
mov dword [ebp - 0x1c], ebx
pop ecx
mov ecx, dword [esi + 0x30]
lea eax, [ebp + 0x5c]
push eax
mov edx, edi
mov dword [ebp - 0x20], edi
mov dword [ebp + 0x5c], ebx
call fcn.00414a72
mov ebx, eax
test ebx, ebx
jne 0x42fd5a
cmp dword [ebp + 0x5c], eax
jne 0x42fc93
lea ebx, [eax + 1]
jmp 0x42fd5a
mov ebx, dword [ebp + 0x6c]
mov ecx, eax
mov dword [ebp + 0x28], ecx
test ebx, ebx
je 0x42fcdc
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x42fcd2
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + edx*4]
mov eax, dword [eax]
shr eax, 8
test al, 1
je 0x42fccf
push edx
lea ecx, [ebp - 0x34]
call fcn.00406bdd
mov ecx, dword [ebp + 0x28]
mov eax, dword [ebp + 0x1c]
or dword [eax + ecx*4], 0xffffffff
jmp 0x42fcd2
mov eax, dword [ebp + 0x1c]
inc ecx
mov dword [ebp + 0x28], ecx
cmp ecx, ebx
jb 0x42fca2
xor eax, eax
mov ecx, dword [esi]
lea edx, [ebp + 0x1c]
push eax
push eax
lea eax, [ebp - 0x34]
push eax
push ebx
call fcn.0042f05c
push dword [ebp + 0x5c]
mov ecx, dword [esi]
lea eax, [ebp - 0x34]
push edi
push eax
push ebx
lea edx, [ebp + 0x1c]
call fcn.0042f05c
jmp 0x42fde4
sub esp, 0xc
lea eax, [ebp + 0x1c]
mov ecx, esp
push eax
call fcn.0042cefe
mov ecx, dword [esi]
mov edx, 0x57a040
call fcn.0042e2c9
mov dword [ebp + 0x54], eax
test eax, eax
js 0x42fde6
xor eax, eax
mov ebx, 0x400
push ebx
mov dword [ebp - 0x1c], eax
call fcn.00566515
mov edi, eax
mov dword [ebp - 0x1c], ebx
pop ecx
mov ecx, dword [esi + 0x30]
lea eax, [ebp + 0x28]
push eax
mov edx, edi
mov dword [ebp - 0x20], edi
mov dword [ebp + 0x28], ebx
call fcn.00414a72
mov ebx, eax
test ebx, ebx
je 0x42fd6e
xor eax, eax
push eax
call fcn.0056651e
push edi
call fcn.0056651e
pop ecx
jmp 0x43180b
cmp dword [ebp + 0x28], 0x10
jb 0x42fde4
mov eax, dword [ebp - 0x18]
lea ebx, [ebp - 0x88]
mov byte [ebp - 0x88], al
mov ecx, edi
mov eax, dword [ebp - 0x54]
mov byte [ebp - 0x86], al
xor eax, eax
mov byte [ebp - 0x87], 0x61
mov edx, eax
mov dword [ebp - 0x85], 0x71a21
sub ebx, edi
mov al, byte [ecx]
cmp al, byte [ebx + ecx]
jne 0x42fde4
inc edx
inc ecx
cmp edx, 7
jb 0x42fda5
cmp byte [edi + 9], 0x73
jne 0x42fde4
xor eax, eax
inc eax
test byte [edi + 0xa], al
je 0x42fde4
mov eax, dword [ebp + 0x54]
lea ecx, [ebp - 0x34]
mov ebx, dword [ebp + 0x1c]
push dword [ebx + eax*4]
call fcn.00406bdd
mov eax, dword [ebp + 0x54]
or dword [ebx + eax*4], 0xffffffff
mov ebx, dword [ebp + 0x6c]
cmp eax, ebx
jl 0x42fde4
inc ebx
mov dword [ebp + 0x6c], ebx
xor ebx, ebx
mov eax, dword [ebp + 0x20]
test eax, eax
je 0x42fe0c
mov esi, dword [ebp + 0x1c]
cmp dword [esi + ebx*4], 0xffffffff
je 0x42fe04
push dword [esi + ebx*4]
lea ecx, [ebp - 0x34]
call fcn.00406bdd
mov eax, dword [ebp + 0x20]
inc ebx
cmp ebx, eax
jb 0x42fdf0
mov esi, dword [ebp + 0x7c]
lea eax, [ebp - 0x34]
push eax
lea ecx, [ebp + 0x1c]
call fcn.0042d5b7
push dword [ebp - 0x34]
call fcn.0056651e
push edi
mov byte [ebp - 4], 3
call fcn.0056651e
mov eax, dword [ebp + 0x20]
pop ecx
pop ecx
cmp eax, 2
jb 0x42fe83
sub esp, 0xc
lea eax, [ebp + 0x1c]
mov ecx, esp
push eax
call fcn.0042cefe
mov ecx, dword [esi]
mov edx, 0x57a2bc
call fcn.0042e2c9
sub esp, 0xc
mov edi, eax
lea eax, [ebp + 0x1c]
mov ecx, esp
push eax
call fcn.0042cefe
mov ecx, dword [esi]
mov edx, 0x57a2c0
call fcn.0042e2c9
mov edx, eax
cmp edx, edi
jle 0x42fe83
test edi, edi
js 0x42fe83
mov ebx, dword [ebp + 0x1c]
mov ecx, dword [ebx + edi*4]
mov eax, dword [ebx + edx*4]
mov dword [ebx + edx*4], ecx
mov dword [ebx + edi*4], eax
cmp dword [ebp + 0x6c], 0
je 0x42fe96
cmp byte [ebp + 0x4c], 0
jne 0x42fe96
xor eax, eax
mov byte [ebp - 0x64], al
jmp 0x42fe9f
xor eax, eax
inc eax
mov byte [ebp - 0x64], al
mov al, byte [ebp + 0x73]
mov edi, dword [esi + 0x30]
xorps xmm0, xmm0
mov byte [ebp - 0x54], al
movlpd qword [ebp + 4], xmm0
test edi, edi
je 0x42fed6
mov ecx, edi
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x43180c
lea edx, [ebp + 4]
mov ecx, edi
call fcn.00414928
mov ebx, eax
test ebx, ebx
jne 0x43180c
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x6c], ecx
lea ecx, [ebp - 0x44]
mov dword [ebx + 0x68], eax
mov eax, dword [esi]
push dword [eax + 0xc]
call fcn.00406fec
mov eax, dword [esi]
xor edx, edx
mov edi, dword [ebp - 0x44]
mov ecx, edx
mov byte [ebp - 4], 6
cmp dword [eax + 0xc], edx
jbe 0x42ff0f
mov byte [ecx + edi], dl
inc ecx
mov eax, dword [esi]
cmp ecx, dword [eax + 0xc]
jb 0x42ff04
lea ecx, [esi + 8]
mov dword [ebp + 0x58], ecx
cmp byte [ecx + 0x11], dl
je 0x43024f
cmp dword [ebp - 0x28], edx
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x6c]
cmovge ecx, edx
xor eax, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp + 0x34], eax
test ecx, ecx
je 0x43024a
mov ecx, dword [ebp + 0x1c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
mov dword [ebx + 0x3c], ecx
mov byte [ebp + 0x72], al
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov dword [ebp + 0x28], eax
cmp dword [ebp + 0x34], edx
jb 0x42ff6b
mov eax, dword [eax]
xor ecx, ecx
shr eax, 8
inc ecx
test cl, al
je 0x43023a
mov byte [ebp + 0x72], cl
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x42ff89
mov eax, dword [ecx]
lea edx, [ebp + 4]
push edx
xor edx, edx
push edx
push ecx
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
jne 0x431803
mov ecx, dword [esi + 0x30]
test ecx, ecx
je 0x42ff9f
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x431803
xor eax, eax
mov dword [ebp + 0x4c], eax
lea eax, [ebp + 0x4c]
mov byte [ebp - 4], 7
push eax
mov eax, dword [ebp + 0x68]
mov ecx, eax
push dword [eax + 0x3c]
push esi
call fcn.00431ea4
mov esi, dword [ebp + 0x4c]
mov ebx, eax
test ebx, ebx
jne 0x4302a7
test esi, esi
jne 0x42ffd3
mov ebx, dword [ebp + 0x68]
jmp 0x430230
mov ebx, dword [ebp + 0x7c]
cmp dword [ebx + 0x30], 0
je 0x430021
cmp byte [ebp + 0x72], 0
jne 0x42fff0
cmp byte [ebp + 0x73], 0
je 0x42fff0
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
jmp 0x42fffe
xorps xmm0, xmm0
movlpd qword [ebp - 0x20], xmm0
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
push dword [ebx + 0x38]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x14c]
push ecx
push dword [ebx + 0x30]
mov dword [ebp - 0x14c], eax
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov ebx, eax
jmp 0x430063
xor eax, eax
mov dword [ebp + 0x5c], eax
mov eax, dword [esi]
lea ecx, [ebp + 0x5c]
push ecx
push 0x57c764
push esi
mov byte [ebp - 4], 0xa
call dword [eax]
mov eax, dword [ebp + 0x5c]
test eax, eax
je 0x4302a2
push dword [ebx + 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
mov ebx, eax
mov eax, dword [ebp + 0x5c]
mov byte [ebp - 4], 0xd
test eax, eax
je 0x43005f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 7
mov ecx, dword [ebp + 0x68]
xor eax, eax
push ebx
push eax
push eax
push esi
call fcn.0043260f
test eax, eax
jne 0x43029e
xor edx, edx
inc edx
cmp ebx, edx
jne 0x43010a
mov ebx, dword [ebp + 0x68]
cmp byte [ebx + 0x7b], al
je 0x430098
test byte [ebx + 0x7c], dl
jne 0x430098
mov al, dl
mov byte [ebp + 0x71], dl
jmp 0x43009d
xor eax, eax
mov byte [ebp + 0x71], al
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + 0x12], 0
je 0x4300aa
test al, al
jne 0x4300b0
mov eax, dword [ebx + 0x3c]
mov byte [edi + eax], dl
cmp byte [ebp + 0x72], 0
je 0x4300bf
mov byte [ebp - 4], 0xf
jmp 0x43022a
cmp dword [ebp + 0x34], 0
jne 0x430101
cmp dword [ebp + 0x6c], edx
jne 0x430101
mov eax, dword [ebx + 0x3c]
lea ecx, [ebx + 0xa8]
mov dword [ebx + 0x84], eax
lea eax, [ebx + 0x78]
push eax
call fcn.0042d61e
mov eax, dword [ebp + 0x58]
cmp byte [eax + 0x12], 0
jne 0x430101
cmp byte [ebp + 0x71], 0
je 0x430101
mov ecx, dword [ebp + 0x28]
call fcn.0042efd7
test al, al
je 0x430281
mov byte [ebp - 4], 0x11
jmp 0x43022a
test ebx, ebx
jne 0x4302a7
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x64]
mov ecx, dword [ebx + 0x3c]
mov al, byte [eax + ecx]
mov ecx, dword [ebp + 0x58]
mov byte [ebp + 0x14], al
push dword [ebp + 0x14]
push dword [ebp - 0x54]
call fcn.0042ee8f
mov dword [ebp + 0x50], eax
lea eax, [ebx + 0x78]
mov al, byte [eax]
mov dword [ebp - 0x10], eax
test al, al
je 0x43017d
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + 0x15], 0
je 0x43017d
mov ecx, dword [ebx + 0x58]
add ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x5c]
adc eax, dword [ebx + 0x54]
push eax
push ecx
push dword [ebp + 0x7c]
mov ecx, ebx
call fcn.0042db49
mov ebx, eax
test ebx, ebx
jne 0x4302a7
mov ebx, dword [ebp + 0x68]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
movzx eax, al
cmp byte [ebx + 0x7a], cl
cmovne eax, ecx
mov ecx, dword [ebx + 0x54]
mov edx, dword [ebx + 0x50]
test ecx, ecx
jl 0x4301db
jg 0x43018d
test edx, edx
je 0x4301db
cmp byte [ebp + 0x72], 0
jne 0x4301d5
cmp byte [ebp + 0x73], 0
je 0x4301d5
mov edi, dword [ebp + 0x50]
cmp byte [edi + 1], 0
mov edi, dword [ebp - 0x44]
jne 0x4301b1
mov ebx, dword [ebp + 0x50]
cmp byte [ebx + 2], 0
mov ebx, dword [ebp + 0x68]
je 0x4301d5
mov edi, dword [ebp + 0x58]
cmp byte [edi + 0x16], 0
mov edi, dword [ebp - 0x44]
je 0x4301db
mov ebx, dword [ebp + 0x58]
cmp ecx, dword [ebx + 0x1c]
mov ebx, dword [ebp + 0x68]
jb 0x4301db
ja 0x4301d5
mov esi, dword [ebp + 0x58]
cmp edx, dword [esi + 0x18]
mov esi, dword [ebp + 0x4c]
jbe 0x4301db
mov byte [ebp - 4], 0x14
jmp 0x43022a
test al, al
je 0x430208
xor eax, eax
cmp ecx, eax
jl 0x4301fa
jg 0x4301eb
cmp edx, eax
jbe 0x4301fa
mov eax, dword [ebp + 0x50]
cmp byte [eax + 2], 0
jne 0x430214
mov byte [ebp - 4], 0x15
jmp 0x43022a
mov eax, dword [ebp + 0x50]
cmp byte [eax], 0
jne 0x430214
mov byte [ebp - 4], 0x16
jmp 0x43022a
xor eax, eax
cmp ecx, eax
jl 0x430288
jg 0x430214
cmp edx, eax
jbe 0x430288
cmp dword [ebp - 0x28], 0
jge 0x430288
mov ecx, dword [ebp + 0x28]
call fcn.0042efd7
test al, al
je 0x430288
mov byte [ebp - 4], 0x17
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x6c]
mov byte [ebp - 4], 6
mov eax, dword [ebp + 0x34]
inc eax
mov dword [ebp + 0x34], eax
cmp eax, dword [ebp - 0x4c]
jb 0x42ff3a
xor edx, edx
lea ecx, [esi + 8]
cmp dword [esi + 0x30], edx
je 0x430277
mov edx, dword [ebp - 0x28]
test edx, edx
js 0x4302ee
cmp byte [ecx + 0x12], 0
jne 0x4302ee
cmp byte [ecx + 0x16], 0
je 0x4302bb
mov eax, dword [ecx + 0x18]
or eax, dword [ecx + 0x1c]
jne 0x4302ee
xor eax, eax
lea ebx, [eax + 1]
jmp 0x431803
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4302a7
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebx]
test ecx, ecx
je 0x43029a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebx], esi
xor eax, eax
mov ebx, eax
jmp 0x4302a7
mov ebx, 0x80004001
mov byte [ebp - 4], 0x18
test esi, esi
je 0x431803
mov eax, dword [esi]
push esi
jmp 0x431800
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov ebx, dword [eax + edx*4]
lea eax, [ebp - 0x9c]
push eax
mov ecx, ebx
call fcn.0042cb54
test eax, eax
js 0x4302ee
mov eax, dword [ebx]
xor ecx, ecx
shr eax, 3
inc ecx
test cl, al
je 0x4302ee
cmp byte [ebp + 0x73], 0
je 0x4302ee
mov ebx, ecx
jmp 0x431803
push 0x28
call fcn.0056643a
pop ecx
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.0042d210
mov dword [ebp + 0x38], eax
test eax, eax
je 0x43030d
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push 0x20
mov byte [ebp - 4], 0x19
call fcn.0056643a
mov ebx, eax
xor eax, eax
mov dword [ebp + 0x28], ebx
pop ecx
push ebx
mov dword [ebx + 8], eax
mov dword [ebx], 0x57a284
mov dword [ebx + 4], 0x57a2a4
mov dword [ebx + 0xc], eax
mov dword [ebp - 0x148], ebx
call dword [0x57a288]
push dword [esi + 0x38]
mov ecx, ebx
mov byte [ebp - 4], 0x1a
call fcn.0042ef40
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov edx, 0x100000
mov byte [ebp - 4], 0x1b
mov eax, edx
mov byte [ebp + 0x71], cl
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 8], ecx
ja 0x43037f
jb 0x430373
cmp dword [ebp + 4], edx
jae 0x43037f
mov eax, dword [ebp + 4]
xor ecx, ecx
inc ecx
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x71], cl
push eax
lea ecx, [ebp - 0x20]
call fcn.00405170
mov ecx, dword [esi + 0x30]
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x43082d
mov eax, dword [ebp + 0x5c]
mov edx, dword [ebp - 0x20]
mov ecx, dword [esi + 0x30]
mov dword [ebp + 0x50], eax
lea eax, [ebp + 0x50]
push eax
call fcn.00414a72
mov ebx, eax
test ebx, ebx
jne 0x43082d
mov eax, dword [ebp + 0x50]
test eax, eax
jne 0x4303c8
lea ebx, [eax + 1]
jmp 0x43082d
cmp eax, dword [ebp + 0x5c]
movzx ecx, byte [ebp + 0x71]
push 1
pop eax
cmovb ecx, eax
xor ebx, ebx
mov dword [ebp + 0x54], ecx
mov eax, ebx
mov ecx, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], ebx
or edx, 0xffffffff
mov byte [ebp - 4], 0x22
mov dword [ebp + 0x48], edx
mov dword [ebp + 0x4c], ebx
cmp dword [ebp + 0x20], ebx
jbe 0x43055b
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [edx + ecx*4]
mov dword [ebp + 0x34], ecx
cmp byte [ecx + edi], 0
jne 0x430535
mov eax, dword [esi]
mov edx, str.Split
mov eax, dword [eax + 8]
mov ebx, dword [eax + ecx*4]
mov ecx, dword [ebx + 0x10]
call fcn.00403e7d
test al, al
je 0x43043c
mov edx, dword [ebp + 0x34]
xor ebx, ebx
mov eax, dword [ebp + 0x20]
mov dword [ebp + 0x48], edx
jmp 0x430538
mov eax, dword [ebx]
xor ecx, ecx
shr eax, 0xc
inc ecx
test cl, al
jne 0x430530
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x430485
push dword [ebp + 0x50]
push dword [ebp - 0x20]
call eax
test eax, eax
je 0x430530
cmp eax, 2
jne 0x430472
cmp byte [ebp + 0x54], 0
jne 0x430530
push dword [ebp + 0x34]
xor ebx, ebx
lea ecx, [ebp - 0x34]
push ebx
call fcn.00414c4e
jmp 0x430532
cmp byte [ebx + 0x2d], 0
je 0x43048f
mov al, cl
jmp 0x4304a2
push 0xa
mov edx, 0x57a060
lea ecx, [ebx + 0x10]
call fcn.0042efa7
test al, al
je 0x4304b6
xor ecx, ecx
cmp dword [ebx + 0x38], ecx
je 0x4304b8
test dword [ebx], 0x1c0
jne 0x4304b8
mov byte [ebp + 0x72], cl
jmp 0x4304be
xor ecx, ecx
xor edx, edx
inc edx
mov byte [ebp + 0x72], dl
test al, al
je 0x43051f
mov eax, dword [ebx + 0x38]
test eax, eax
je 0x43051f
mov edi, dword [ebx + 0x34]
mov esi, dword [ebx + 0x30]
mov dword [ebp + 0x5c], ecx
mov eax, dword [edi]
mov edx, dword [eax + 4]
lea eax, [esi + edx]
cmp dword [ebp + 0x50], eax
jae 0x4304ed
cmp byte [ebp + 0x54], 0
jne 0x430504
xor eax, eax
inc eax
mov byte [ebp + 0x72], al
jmp 0x430504
mov ecx, dword [edi]
push edx
mov edx, dword [ebp - 0x20]
mov ecx, dword [ecx]
lea edx, [esi + edx]
call fcn.00432d11
mov ecx, dword [ebp + 0x5c]
test al, al
jne 0x430510
inc ecx
add edi, 4
mov dword [ebp + 0x5c], ecx
cmp ecx, dword [ebx + 0x38]
jb 0x4304d2
mov edi, dword [ebp - 0x44]
mov esi, dword [ebp + 0x7c]
cmp ecx, dword [ebx + 0x38]
jne 0x430472
cmp byte [ebp + 0x72], 0
je 0x430530
push dword [ebp + 0x34]
lea ecx, [ebp - 0x34]
call fcn.00406bdd
xor ebx, ebx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x48]
mov ecx, dword [ebp + 0x4c]
inc ecx
mov dword [ebp + 0x4c], ecx
cmp ecx, eax
jb 0x430400
test edx, edx
js 0x430555
push edx
push ebx
lea ecx, [ebp - 0x34]
call fcn.00414c4e
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x18], ebx
mov edx, ebx
test ecx, ecx
je 0x43083c
mov ebx, dword [ebp + 0x68]
mov ecx, dword [eax + edx*4]
mov dword [ebx + 0x3c], ecx
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x38]
mov dword [ebp - 0x14], eax
test ecx, ecx
je 0x43059a
mov eax, dword [ecx]
lea edx, [ebp + 4]
push edx
xor edx, edx
push edx
push ecx
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
jne 0x430824
mov ecx, dword [esi + 0x30]
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x430824
mov dword [ebp + 0x54], eax
lea eax, [ebp + 0x54]
mov byte [ebp - 4], 0x27
push eax
mov eax, dword [ebp + 0x68]
mov ecx, eax
push dword [eax + 0x3c]
push esi
call fcn.00431ea4
mov esi, dword [ebp + 0x54]
mov ebx, eax
test ebx, ebx
jne 0x430816
test esi, esi
jne 0x4305db
jmp 0x4307c7
mov eax, dword [ebp + 0x7c]
lea ecx, [ebp - 0x60]
push dword [ebp + 0x28]
xorps xmm0, xmm0
movlpd qword [ebp - 0x60], xmm0
push dword [eax + 0x38]
push ecx
push dword [eax + 0x30]
mov eax, dword [ebp + 0x58]
mov ecx, esi
cmp byte [eax + 0x11], 0
sete dl
call fcn.0042f866
xor ecx, ecx
mov ebx, eax
inc ecx
cmp ebx, ecx
jne 0x430625
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebx + 0x3c]
mov byte [edi + eax], cl
mov byte [ebp - 4], 0x2c
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x4307ca
test ebx, ebx
jne 0x430816
mov ecx, dword [ebp + 0x68]
xor eax, eax
push eax
push eax
push eax
push esi
call fcn.0043260f
mov ebx, eax
test ebx, ebx
jne 0x430816
mov ebx, dword [ebp + 0x68]
cmp dword [ebx + 0x54], eax
jl 0x43065a
jg 0x430654
cmp dword [ebx + 0x50], eax
jbe 0x43065a
mov byte [ebp - 4], 0x33
jmp 0x43061a
lea ecx, [ebp - 0x138]
call fcn.0042d3c7
mov eax, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x54]
cmp byte [ebx + 0x60], 0
mov dword [ebp - 0x138], eax
mov eax, dword [ebx + 0x70]
mov dword [ebp - 0x134], ecx
mov ecx, dword [ebx + 0x74]
mov dword [ebp - 0x130], eax
movzx eax, byte [ebp - 0xcc]
mov dword [ebp - 0x12c], ecx
push 1
pop ecx
cmove eax, ecx
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x138]
mov byte [ebp - 0xcc], al
call fcn.0042f10b
mov edx, dword [ebp + 0x58]
cmp byte [edx + 0x11], 0
je 0x430741
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x48]
push dword [ebp - 0x64]
mov al, byte [eax + ecx]
mov ecx, edx
mov byte [ebp + 0x14], al
push dword [ebp + 0x14]
push dword [ebp - 0x54]
call fcn.0042ee8f
cmp byte [ebx + 0x78], 0
mov dword [ebp - 0x4c], eax
je 0x4307e5
mov ecx, dword [ebp + 0x58]
cmp byte [ecx + 0x15], 0
je 0x43071f
mov eax, dword [ebx + 0x50]
add eax, dword [ebx + 0x58]
mov ecx, dword [ebx + 0x5c]
adc ecx, dword [ebx + 0x54]
push ecx
push eax
push dword [ebp + 0x7c]
mov ecx, ebx
call fcn.0042db49
mov ebx, eax
test ebx, ebx
jne 0x43080b
mov ebx, dword [ebp + 0x68]
cmp byte [ebx + 0x7a], al
jne 0x4307e5
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x28], 0
mov al, byte [eax]
mov byte [ebp + 0x47], al
jge 0x430739
mov ecx, dword [ebp - 0x14]
call fcn.0042efd7
test al, al
jne 0x430741
mov al, byte [ebp + 0x47]
test al, al
jne 0x4307e5
mov eax, dword [ebx + 0x3c]
xor ecx, ecx
inc ecx
mov byte [edi + eax], cl
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x134]
jne 0x43078c
cmp byte [ebp - 0xcc], al
jne 0x43078c
mov eax, dword [ebp - 0x12c]
cmp eax, dword [ebx + 0x6c]
jb 0x43078c
ja 0x430778
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebx + 0x68]
jb 0x43078c
lea ecx, [ebp - 0x138]
call fcn.0042d58f
mov byte [ebp - 4], 0x3b
jmp 0x43061a
mov edx, dword [ebp - 0x14]
lea eax, [ebp - 0x138]
push eax
mov ecx, esi
call fcn.00432838
mov ebx, eax
test ebx, ebx
jne 0x43080b
mov ecx, dword [ebp + 0x38]
lea eax, [ebp - 0x138]
push eax
call fcn.0042d7fe
lea ecx, [ebp - 0x138]
call fcn.0042d58f
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 0x3f
call dword [eax + 8]
mov ebx, dword [ebp + 0x68]
mov edx, dword [ebp - 0x18]
mov esi, dword [ebp + 0x7c]
inc edx
mov byte [ebp - 4], 0x22
mov dword [ebp - 0x18], edx
cmp edx, dword [ebp - 0x30]
jae 0x43083a
mov eax, dword [ebp - 0x34]
jmp 0x43056b
mov eax, dword [ebp + 0x7c]
lea ecx, [ebx + 4]
push dword [eax + 0x30]
call fcn.0040f6aa
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebx]
test ecx, ecx
je 0x430805
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
xor eax, eax
mov dword [ebx], esi
mov ebx, eax
lea ecx, [ebp - 0x138]
call fcn.0042d58f
mov byte [ebp - 4], 0x3c
test esi, esi
je 0x430824
mov eax, dword [esi]
push esi
call dword [eax + 8]
push dword [ebp - 0x34]
call fcn.0056651e
pop ecx
push dword [ebp - 0x20]
call fcn.0056651e
jmp 0x4317e4
xor ebx, ebx
push dword [ebp - 0x34]
call fcn.0056651e
push dword [ebp - 0x20]
call fcn.0056651e
pop ecx
pop ecx
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
xor edx, edx
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], edx
mov eax, dword [esi]
mov ecx, edx
mov byte [ebp - 4], 0x41
mov edi, edx
mov dword [ebp + 0x5c], ecx
cmp dword [eax + 0xc], edx
jbe 0x4308d7
push ecx
lea ecx, [ebp - 0xc8]
call fcn.00406bdd
mov eax, dword [esi]
xor edx, edx
mov ecx, dword [ebp + 0x5c]
mov ebx, edx
mov eax, dword [eax + 8]
mov eax, dword [eax + edi*4]
mov dword [ebp + 0x14], eax
add ecx, dword [eax + 0x38]
mov dword [ebp + 0x5c], ecx
cmp dword [eax + 0x38], edx
jbe 0x4308c9
mov esi, eax
push edi
lea ecx, [ebp - 0xbc]
call fcn.00406bdd
inc ebx
cmp ebx, dword [esi + 0x38]
jb 0x4308b1
mov esi, dword [ebp + 0x7c]
mov ecx, dword [ebp + 0x5c]
mov eax, dword [esi]
inc edi
cmp edi, dword [eax + 0xc]
jb 0x430886
mov ebx, dword [ebp - 0xb8]
mov edi, 0x10000
push edi
call fcn.00566515
mov dword [ebp - 0x50], eax
push edi
push 0xff
push eax
call sub.msvcrt.dll_memset
mov edi, 0x100
lea eax, [ebp - 0x258]
push edi
push 0xff
push eax
call sub.msvcrt.dll_memset
add esp, 0x1c
cmp ebx, 0xff
jb 0x43091d
xor eax, eax
lea ebx, [eax + 1]
jmp 0x431777
xor ebx, ebx
mov dword [ebp - 0xa8], ebx
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
push edi
mov byte [ebp - 4], 0x45
call fcn.00566515
mov dword [ebp + 0x5c], eax
push edi
push ebx
push eax
mov byte [ebp - 4], 0x46
call sub.msvcrt.dll_memset
mov edi, dword [ebp + 0x20]
add esp, 0x10
mov edx, ebx
mov dword [ebp + 0x54], edx
test edi, edi
je 0x430a13
mov eax, dword [ebp + 0x1c]
mov edx, dword [eax + edx*4]
mov dword [ebp + 0x4c], edx
test edx, edx
js 0x430a04
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov ecx, dword [eax + edx*4]
mov dword [ebp + 0x14], ecx
mov ebx, dword [ecx]
mov eax, ebx
shr eax, 0xc
test al, 1
jne 0x430a01
cmp byte [ecx + 0x2d], 0
je 0x4309e9
xor eax, eax
shr ebx, 6
inc eax
and bl, al
xor eax, eax
mov edi, eax
cmp dword [ecx + 0x38], eax
jbe 0x4309e2
mov esi, edx
mov eax, dword [ecx + 0x34]
mov eax, dword [eax + edi*4]
cmp dword [eax + 4], 2
jae 0x4309b0
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4309d6
mov eax, dword [eax]
movzx edx, word [eax]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + esi*4]
mov eax, dword [ebp - 0x50]
add ecx, edi
mov al, byte [edx + eax]
mov byte [ebp + ecx - 0x258], al
mov eax, dword [ebp - 0x50]
mov byte [edx + eax], cl
mov ecx, dword [ebp + 0x14]
inc edi
cmp edi, dword [ecx + 0x38]
jb 0x43099d
mov esi, dword [ebp + 0x7c]
mov edx, dword [ebp + 0x4c]
mov edi, dword [ebp + 0x20]
test bl, bl
je 0x430a01
push edx
lea ecx, [ebp - 0xa8]
call fcn.00406bdd
mov eax, dword [ebp + 0x4c]
xor edx, edx
mov ecx, dword [ebp + 0x5c]
inc edx
mov byte [eax + ecx], dl
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x54]
inc edx
mov dword [ebp + 0x54], edx
cmp edx, edi
jb 0x430960
mov ecx, dword [esi + 0x30]
call fcn.00414a65
mov ebx, eax
test ebx, ebx
jne 0x431762
push 0x48
call fcn.0056643a
pop ecx
mov ecx, eax
push ecx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x1c], ecx
mov dword [ecx + 4], ebx
lea eax, [ecx + 0x3c]
mov dword [ecx], 0x57a0e4
lea esi, [ecx + 8]
mov dword [esi], ebx
mov dword [ebp - 0x3c], eax
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp + 0x7c]
mov ecx, esi
mov byte [ebp - 4], 0x49
push dword [eax + 0x30]
call fcn.0040f6aa
mov edi, ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x13c], edi
mov esi, dword [ebp + 0x7c]
mov byte [ebp - 4], 0x4a
cmp dword [esi + 0x38], ebx
je 0x430ada
push 0x30
call fcn.0056643a
pop ecx
mov ecx, eax
mov dword [ebp - 0x5c], eax
call fcn.0042d1ab
mov ebx, eax
mov dword [ebp - 0x58], ebx
test ebx, ebx
je 0x430a9d
mov ecx, dword [ebx]
push ebx
call dword [ecx + 4]
mov eax, dword [ebp + 0x7c]
lea esi, [ebx + 0x10]
mov edi, ebx
mov ecx, esi
mov dword [ebp - 0x13c], edi
push dword [eax + 0x38]
call fcn.0040f6aa
mov eax, dword [esi]
lea edx, [ebx + 0x14]
push edx
push 0x57c704
push eax
mov ecx, dword [eax]
call dword [ecx]
mov eax, dword [esi]
lea edx, [ebx + 0x28]
push edx
push 0x57c804
push eax
mov ecx, dword [eax]
call dword [ecx]
mov esi, dword [ebp + 0x7c]
xor ebx, ebx
mov ecx, dword [esi + 0x38]
test ecx, ecx
je 0x430af6
mov eax, dword [ecx]
lea edx, [ebp + 4]
push edx
push ebx
push ecx
call dword [eax + 0xc]
mov ebx, eax
test ebx, ebx
jne 0x431747
mov ecx, dword [ebp - 0x3c]
push 0x400000
call fcn.00405170
xor eax, eax
xor ecx, ecx
xorps xmm0, xmm0
mov byte [ebp + 0x72], al
inc ecx
movlpd qword [ebp - 0xb0], xmm0
mov ebx, eax
mov byte [ebp + 0x73], cl
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp + 0x3c], ebx
movlpd qword [ebp - 0x60], xmm0
cmp byte [esi + 0x1c], al
jne 0x430b4e
mov eax, dword [ebp + 0x38]
cmp dword [eax + 0x10], ecx
jne 0x430b4e
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
cmp byte [ecx + 0x6c], bl
jne 0x430b4e
mov eax, dword [ecx]
or eax, dword [ecx + 4]
jne 0x430b4e
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
jmp 0x430b54
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp + 0x64], edx
mov dword [ebp + 0x6c], ecx
mov dword [ebp + 0x18], eax
jmp 0x430b86
mov ebx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x6c]
sub edx, eax
mov dword [ebp + 0x14], edx
sbb ecx, dword [ebp]
cmp byte [ebp + 0x72], 0
jne 0x430d0b
mov eax, 0x400000
cmp ebx, eax
jae 0x430c43
sub eax, ebx
mov edx, ebx
add edx, dword [ebp + 0x18]
push 0
mov dword [ebp - 0x8c], eax
pop eax
push 0
mov ebx, eax
mov dword [ebp + 0x14], edx
mov eax, dword [esi + 0x30]
adc ebx, dword [ebp]
push 0
push ebx
mov ecx, dword [eax]
push edx
push eax
mov dword [ebp - 0x10], ebx
call dword [ecx + 0x10]
mov ebx, eax
test ebx, ebx
jne 0x431747
mov ecx, dword [esi + 0x30]
lea eax, [ebp - 0x8c]
push eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
add edx, dword [ebp + 0x3c]
call fcn.00414a72
mov ebx, eax
test ebx, ebx
jne 0x431747
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jne 0x430c21
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
mov dword [ebp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebp + 8], eax
xor eax, eax
inc eax
mov byte [ebp + 0x72], al
jmp 0x431685
mov edx, dword [ebp - 0x40]
mov ebx, dword [ebp + 0x3c]
add ebx, ecx
mov dword [ebp + 0x3c], ebx
mov eax, dword [edx + 0x3c]
mov dword [edx + 0x30], eax
mov eax, dword [ebp + 0x18]
mov dword [edx + 0x34], ecx
mov dword [edx + 0x38], eax
mov edx, dword [ebp + 0x64]
jmp 0x430b83
xor eax, eax
cmp eax, ecx
ja 0x430cc1
jb 0x430c4f
cmp ebx, edx
jae 0x430cc1
sub edx, ebx
sbb ecx, eax
mov dword [ebp - 0x68], ecx
jne 0x430ca0
jb 0x430c62
cmp edx, 0x10000
ja 0x430ca0
mov ecx, dword [ebp - 0x3c]
mov esi, 0x10000
sub esi, edx
push esi
mov eax, dword [ecx]
sub eax, esi
add eax, ebx
push eax
push dword [ecx]
call sub.msvcrt.dll_memmove
mov edx, dword [ebp + 0x64]
mov ebx, esi
mov ecx, dword [ebp + 0x6c]
add esp, 0xc
mov eax, edx
mov dword [ebp + 0x3c], ebx
sub eax, esi
mov esi, ecx
mov dword [ebp + 0x18], eax
sbb esi, 0
mov dword [ebp], esi
mov esi, dword [ebp + 0x7c]
jmp 0x430b86
mov edx, dword [ebp + 0x64]
mov ebx, eax
mov ecx, dword [ebp + 0x6c]
mov eax, edx
add eax, 0xffff0000
mov dword [ebp], ecx
mov dword [ebp + 0x3c], ebx
adc dword [ebp], 0xffffffff
mov dword [ebp + 0x18], eax
jmp 0x430b86
sub ebx, edx
sbb eax, ecx
mov dword [ebp - 0x68], eax
jne 0x430d0b
jb 0x430cd4
cmp ebx, 0x100000
jae 0x430d0b
mov eax, dword [ebp - 0x3c]
lea esi, [edx - 0x10000]
mov ebx, dword [ebp + 0x3c]
sub ebx, esi
push ebx
mov ecx, dword [eax]
mov dword [ebp + 0x3c], ebx
lea eax, [ecx + esi]
push eax
push ecx
call sub.msvcrt.dll_memmove
mov eax, dword [ebp + 0x18]
add esp, 0xc
add eax, esi
mov esi, dword [ebp + 0x7c]
mov dword [ebp + 0x18], eax
push 0
pop ecx
adc dword [ebp], ecx
jmp 0x430c3b
mov eax, dword [ebp + 0x3c]
cmp eax, edx
jbe 0x4316da
xor ecx, ecx
mov byte [ebp + 0x63], cl
test edi, edi
je 0x430d9d
mov ebx, dword [ebp - 0x58]
mov ecx, dword [ebp + 0x38]
mov esi, dword [ebp - 0x58]
mov eax, dword [ecx + 0x10]
mov dword [ebx + 0x18], eax
mov eax, ebx
xor ebx, ebx
mov dword [eax + 0x1c], ebx
mov ebx, dword [ebp + 0x64]
mov dword [eax + 0x20], ebx
mov eax, dword [ebp + 0x6c]
mov dword [esi + 0x24], eax
xor eax, eax
mov esi, dword [ebp + 0x7c]
inc eax
cmp byte [esi + 0x19], 0
je 0x430d54
cmp dword [ecx + 0x10], eax
ja 0x430d54
xor eax, eax
mov ecx, dword [ebp - 0x90]
mov byte [ebp + 0x63], al
add ecx, 0x800000
mov eax, dword [ebp - 0x4c]
adc eax, 0
cmp dword [ebp + 0x6c], eax
jb 0x430d9a
ja 0x430d74
cmp ebx, ecx
jb 0x430d9a
mov eax, dword [edi]
xor ecx, ecx
push ecx
push ecx
push edi
call dword [eax + 0x10]
mov ebx, eax
test ebx, ebx
jne 0x431747
mov eax, dword [ebp + 0x64]
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 0x6c]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x3c]
xor ecx, ecx
add eax, dword [ebp + 0x18]
mov dword [ebp + 0x14], eax
adc ecx, dword [ebp]
mov dword [ebp - 0x10], ecx
cmp dword [ebp + 8], ecx
ja 0x430dd4
jb 0x430db7
cmp dword [ebp + 4], eax
jae 0x430dd4
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 4]
mov ecx, dword [ebp + 8]
mov dword [ebx + 0x68], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x6c], ecx
mov dword [ebp + 8], eax
jmp 0x430dd7
mov ebx, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x3c]
sub ecx, edx
mov dword [ebp - 0x68], ecx
cmp ecx, 2
jb 0x4316da
cmp ecx, 0x100000
sbb eax, eax
and eax, 0xfff00002
add eax, 0x100000
sub ecx, eax
cmp byte [esi + 0x1a], 0
jne 0x430e3e
mov eax, dword [ebp - 0x70]
cmp dword [ebp + 0x6c], eax
ja 0x4316da
mov eax, dword [ebp - 0x74]
jb 0x430e1c
cmp dword [ebp + 0x64], eax
ja 0x4316da
sub eax, dword [ebp + 0x64]
mov esi, dword [ebp + 0x7c]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp - 0x70]
sbb eax, dword [ebp + 0x6c]
cmp dword [ebp - 0x140], eax
jb 0x430e3e
mov eax, dword [ebp + 0x54]
ja 0x430e3c
cmp ecx, eax
jbe 0x430e3e
mov ecx, eax
mov eax, dword [ebp - 0x3c]
inc ecx
and dword [ebp - 0x10], 0
mov eax, dword [eax]
add eax, edx
add ecx, eax
mov dword [ebp - 0x7c], eax
cmp byte [ebp + 0x73], 0
jne 0x430e9b
cmp eax, ecx
jae 0x430e74
mov esi, dword [ebp - 0x50]
mov ebx, eax
movzx eax, word [ebx]
cmp byte [eax + esi], 0xff
jne 0x430e6c
inc ebx
cmp ebx, ecx
jb 0x430e5e
mov esi, dword [ebp + 0x7c]
mov eax, ebx
mov dword [ebp - 0x7c], ebx
mov ebx, eax
sub ebx, edx
mov edx, dword [ebp - 0x3c]
push 0
sub ebx, dword [edx]
mov edx, dword [ebp + 0x64]
add edx, ebx
mov dword [ebp - 0x10], ebx
pop ebx
adc dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x68]
mov dword [ebp + 0x64], edx
cmp eax, ecx
je 0x430b7d
jmp 0x430e9e
mov edx, dword [ebp + 0x64]
movzx eax, word [eax]
xor ecx, ecx
inc ecx
mov byte [ebp + 0x47], cl
mov ecx, dword [ebp - 0x50]
movzx ecx, byte [eax + ecx]
xor eax, eax
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 0x30], eax
mov byte [ebp - 0x35], al
jmp 0x430ec6
mov edx, dword [ebp + 0x64]
jmp 0x430ec3
mov eax, dword [ebp + 0x30]
mov ecx, dword [ebp + 0x2c]
cmp byte [ebp + 0x73], 0
je 0x430eed
cmp eax, dword [ebp - 0xa4]
jae 0x430eed
mov ecx, dword [ebp - 0xa8]
inc dword [ebp + 0x30]
mov eax, dword [ecx + eax*4]
mov dword [ebp + 0x40], eax
xor eax, eax
lea edx, [eax + 1]
jmp 0x430f92
cmp ecx, 0xff
je 0x43165f
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc8]
mov eax, dword [eax + ecx*4]
mov dword [ebp + 0x40], eax
sub ecx, dword [esi + eax*4]
cmp byte [ebp + 0x73], 0
mov esi, dword [ebp + 0x2c]
movzx esi, byte [ebp + esi - 0x258]
mov dword [ebp + 0x2c], esi
mov esi, dword [ebp + 0x7c]
je 0x430f34
mov ebx, dword [ebp + 0x5c]
cmp byte [eax + ebx], 0
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x30]
jne 0x430ec3
mov eax, dword [esi]
mov ebx, dword [ebp + 0x40]
mov eax, dword [eax + 8]
mov eax, dword [eax + ebx*4]
xor ebx, ebx
cmp dword [ebp + 0x6c], ebx
mov ebx, dword [ebp + 0x68]
jb 0x430ec0
ja 0x430f58
cmp edx, dword [eax + 0x30]
jb 0x430ec0
mov eax, dword [eax + 0x34]
mov edx, dword [eax + ecx*4]
mov eax, dword [ebp - 0x10]
mov ecx, dword [edx + 4]
add eax, ecx
cmp eax, dword [ebp - 0x68]
mov eax, dword [ebp + 0x30]
ja 0x430ebb
mov edx, dword [edx]
push ecx
mov ecx, dword [ebp - 0x7c]
call fcn.00432d11
mov edx, dword [ebp + 0x64]
test al, al
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x30]
je 0x430ec6
xor eax, eax
mov dl, al
mov eax, dword [esi]
mov ecx, dword [ebp + 0x40]
mov eax, dword [eax + 8]
mov ecx, dword [eax + ecx*4]
mov dword [ebp + 0x50], ecx
test dl, dl
je 0x430fb1
mov eax, dword [ebp + 0x64]
or eax, dword [ebp + 0x6c]
jne 0x430fb1
add ecx, 0x30
jmp 0x430fc5
mov eax, dword [ebp + 0x64]
add ecx, 0x30
cmp dword [ecx], eax
jne 0x430fde
xor ebx, ebx
cmp ebx, dword [ebp + 0x6c]
mov ebx, dword [ebp + 0x68]
jne 0x430fde
mov eax, dword [ebp - 0x44]
mov ebx, dword [ebp + 0x40]
cmp byte [ebx + eax], 0
mov ebx, dword [ebp + 0x68]
mov eax, dword [ebp + 0x30]
jne 0x430ebb
mov eax, dword [ebp + 0x64]
mov esi, dword [ebp + 0x6c]
mov dword [ebp + 0x48], esi
mov esi, dword [ebp + 0x7c]
mov dword [ebp - 0x24], eax
test dl, dl
jne 0x43101d
mov edx, dword [ebp + 0x64]
xor eax, eax
cmp dword [ebp + 0x6c], eax
mov eax, dword [ebp + 0x30]
jb 0x430ec3
ja 0x431009
cmp edx, dword [ecx]
jb 0x430ec3
mov eax, edx
sub eax, dword [ecx]
mov ecx, dword [ebp + 0x6c]
push 0
pop edx
sbb ecx, edx
mov dword [ebp - 0x24], eax
mov dword [ebp + 0x48], ecx
jmp 0x431020
mov ecx, dword [ebp + 0x48]
mov edx, dword [ebp + 0x50]
mov edx, dword [edx + 0xc]
test edx, edx
je 0x431066
cmp ecx, dword [ebp]
jb 0x431066
ja 0x431036
cmp eax, dword [ebp + 0x18]
jb 0x431066
mov ecx, eax
mov eax, dword [ebp + 0x3c]
sub ecx, dword [ebp + 0x18]
cmp ecx, eax
jae 0x431066
sub eax, ecx
push eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
add eax, ecx
push eax
call edx
test eax, eax
je 0x43121e
cmp eax, 2
jne 0x431066
cmp byte [ebp + 0x72], 0
jne 0x43121e
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp + 0x40]
push dword [ebp - 0x64]
mov al, byte [ecx + eax]
lea ecx, [esi + 8]
mov byte [ebp - 0xac], al
push dword [ebp - 0xac]
push dword [ebp - 0x54]
call fcn.0042ee8f
mov dword [ebp + 0x4c], eax
xor eax, eax
mov dword [ebp - 0x78], eax
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 0x5b
push eax
push dword [ebp + 0x40]
mov ecx, ebx
push esi
call fcn.00431ea4
mov esi, dword [ebp - 0x78]
mov ebx, eax
test ebx, ebx
jne 0x4316ca
test esi, esi
je 0x4316c5
mov eax, dword [ebp + 0x50]
xorps xmm0, xmm0
mov ecx, dword [ebp + 4]
mov ebx, dword [ebp - 0x24]
sub ecx, ebx
mov edx, dword [ebp + 8]
sbb edx, dword [ebp + 0x48]
mov eax, dword [eax]
shr eax, 5
movlpd qword [ebp + 0x10], xmm0
test al, 1
je 0x431128
push dword [ebp + 8]
mov ecx, dword [ebp - 0x40]
xor eax, eax
push dword [ebp + 4]
push eax
push eax
call fcn.0041162c
mov ebx, eax
test ebx, ebx
jne 0x4316ca
mov ecx, dword [ebp - 0x40]
xor edx, edx
push edx
push edx
push dword [ebp + 0x48]
mov eax, dword [ecx]
push dword [ebp - 0x24]
push ecx
call dword [eax + 0x10]
mov ebx, eax
test ebx, ebx
jne 0x4316ca
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x48]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
jmp 0x43114c
push edx
push ecx
push dword [ebp + 0x48]
mov ecx, dword [ebp - 0x40]
push ebx
call fcn.0041162c
mov ebx, eax
test ebx, ebx
jne 0x4316ca
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x48]
mov dword [ebp - 0x14], ecx
mov dword [ebp + 0x54], edx
xorps xmm0, xmm0
movlpd qword [ebp - 0x30], xmm0
test edi, edi
je 0x431171
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp + 0x38]
mov eax, dword [eax + 0x10]
mov dword [ebx + 0x18], eax
xor eax, eax
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
jmp 0x431173
xor eax, eax
cmp byte [ebp + 0x63], 0
mov ebx, dword [ebp + 0x28]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], ecx
mov dword [ebx + 0x1c], edx
je 0x43118c
mov eax, edi
jmp 0x431192
mov eax, dword [ebp + 0x7c]
mov eax, dword [eax + 0x38]
push ebx
push eax
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
push dword [ebp - 0x40]
xor eax, eax
lea edx, [eax + 1]
call fcn.0042f866
mov ebx, eax
xor ecx, ecx
mov eax, dword [ebp + 0x50]
inc ecx
mov eax, dword [eax]
shr eax, 5
test cl, al
je 0x4311c8
xorps xmm0, xmm0
movlpd qword [ebp + 0x10], xmm0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
jmp 0x4311ce
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x48]
push ebx
push eax
push ecx
mov ecx, dword [ebp + 0x68]
push esi
call fcn.0043260f
test eax, eax
jne 0x4316c1
xor edx, edx
mov byte [ebp + 0x71], al
inc edx
cmp ebx, edx
jne 0x431245
mov eax, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x68]
cmp byte [eax + 0x12], 0
jne 0x431226
cmp dword [ebp - 0x28], 0
jge 0x43120d
cmp byte [ebx + 0x7b], 0
je 0x43120d
test byte [ebx + 0x7c], dl
je 0x431690
mov byte [ebp - 4], 0x7f
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp + 0x7c]
mov byte [ebp - 4], 0x4a
mov edx, dword [ebp + 0x64]
jmp 0x430ec0
cmp byte [ebx + 0x7b], 0
je 0x43123f
test byte [ebx + 0x7c], dl
jne 0x43123f
cmp byte [ebx + 0x60], 0
je 0x43123f
mov eax, dword [ebx + 0x58]
or eax, dword [ebx + 0x5c]
jne 0x431271
mov byte [ebp - 4], 0x80
jmp 0x431211
mov ecx, dword [ebp + 0x68]
cmp byte [ecx + 0x60], al
je 0x431264
mov eax, dword [ecx + 0x58]
or eax, dword [ecx + 0x5c]
jne 0x431264
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 0x81
call dword [eax + 8]
mov ebx, dword [ebp + 0x68]
jmp 0x431217
mov byte [ebp + 0x71], dl
test ebx, ebx
jne 0x4316ca
mov ebx, ecx
lea ecx, [ebp - 0x138]
call fcn.0042d3c7
mov eax, dword [ebp + 0x50]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 0x48]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], edx
mov eax, dword [eax]
shr eax, 5
mov byte [ebp - 4], 0x87
test al, 1
je 0x4312b2
mov ecx, dword [ebx + 0x50]
mov edx, dword [ebx + 0x54]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x134], edx
jmp 0x4312be
mov eax, dword [ebx + 0x50]
or eax, dword [ebx + 0x54]
jne 0x4316af
mov eax, dword [ebx + 0x68]
mov esi, dword [ebx + 0x6c]
sub eax, ecx
mov dword [ebp - 0x80], eax
sbb esi, edx
mov dword [ebp + 0x34], eax
mov al, byte [ebx + 0x60]
mov dword [ebp + 0x14], esi
test al, al
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
mov byte [ebp + 0xe], al
mov eax, dword [ebp + 0x34]
je 0x431319
mov eax, dword [ebx + 0x58]
add ecx, eax
mov esi, dword [ebx + 0x5c]
adc edx, esi
mov dword [ebp - 0x18], esi
mov esi, dword [ebp - 0x78]
mov dword [ebp + 0x34], eax
cmp edx, dword [ebx + 0x6c]
jb 0x431319
ja 0x431303
cmp ecx, dword [ebx + 0x68]
jbe 0x431319
mov edx, dword [ebp - 0x80]
mov eax, edx
mov ecx, dword [ebp + 0x14]
mov dword [ebx + 0x58], edx
mov dword [ebx + 0x5c], ecx
mov dword [ebp + 0x34], edx
mov dword [ebp - 0x18], ecx
jmp 0x43131c
mov edx, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x18]
or eax, ecx
je 0x4316af
cmp ecx, 0x80000000
ja 0x4316af
mov eax, dword [ebp + 0x34]
jb 0x431340
test eax, eax
jne 0x4316af
cmp byte [ebp + 0x71], 0
mov byte [ebp + 0xf], 0
je 0x431366
cmp byte [ebp + 0xe], 0
jne 0x431366
mov ecx, dword [ebp + 0x14]
xor eax, eax
inc eax
mov byte [ebp - 0xcc], al
mov byte [ebp + 0xf], al
mov eax, edx
xor edx, edx
mov byte [ebp + 0x47], dl
mov dword [ebp - 0x12c], ecx
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x130], eax
call fcn.0042f10b
mov eax, dword [ebp - 0x138]
or eax, dword [ebp - 0x134]
jne 0x4313c8
cmp byte [ebp - 0xcc], al
jne 0x4313c8
mov eax, dword [ebx + 0x6c]
cmp dword [ebp - 0x12c], eax
jb 0x4313c8
ja 0x4313ab
mov eax, dword [ebx + 0x68]
cmp dword [ebp - 0x130], eax
jb 0x4313c8
mov eax, dword [ebp + 0x58]
cmp byte [eax + 0x11], 0
jne 0x4313c8
lea ecx, [ebp - 0x138]
call fcn.0042d58f
mov byte [ebp - 4], 0x92
jmp 0x431211
mov ebx, dword [ebp + 0x58]
cmp byte [ebx + 0x14], 0
jne 0x4313d7
cmp byte [ebp + 0xf], 0
je 0x4313e5
xor eax, eax
inc eax
add dword [ebp + 0x64], eax
push 0
pop eax
adc dword [ebp + 0x6c], eax
jmp 0x431403
mov eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x138]
mov dword [ebp + 0x64], eax
mov eax, dword [ebp - 0x12c]
adc eax, dword [ebp - 0x134]
mov dword [ebp + 0x6c], eax
mov edx, dword [ebp + 0x50]
lea eax, [ebp - 0x138]
push eax
mov ecx, esi
call fcn.00432838
mov ebx, eax
test ebx, ebx
jne 0x4316b4
mov eax, dword [ebp + 0x48]
mov edx, dword [ebp - 0x138]
cmp dword [ebp - 0x134], eax
ja 0x4314b5
jb 0x43143a
cmp edx, dword [ebp - 0x24]
jae 0x4314b5
mov eax, dword [ebp + 0x58]
xor ecx, ecx
cmp byte [eax + 0x14], cl
jne 0x4314ba
mov eax, dword [ebp + 0x38]
cmp dword [eax + 0x10], ecx
je 0x4314b7
add eax, 0xc
mov dword [ebp + 0x14], eax
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov ecx, dword [eax + ecx*4 - 4]
mov eax, dword [ecx + 4]
mov ebx, dword [ecx]
cmp eax, dword [ebp - 0x134]
jb 0x4314b5
ja 0x43146e
cmp ebx, edx
jb 0x4314b5
add ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
adc ecx, eax
mov eax, dword [ebp - 0x130]
add eax, edx
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x12c]
adc eax, dword [ebp - 0x134]
cmp ecx, eax
ja 0x4314b5
jb 0x431498
cmp ebx, dword [ebp - 0x68]
ja 0x4314b5
mov ecx, dword [ebp + 0x14]
call fcn.0042dd52
mov eax, dword [ebp + 0x38]
xor ecx, ecx
mov edx, dword [ebp - 0x138]
cmp dword [eax + 0x10], ecx
je 0x4314b7
mov eax, dword [ebp + 0x14]
jmp 0x431452
xor ecx, ecx
mov eax, dword [ebp + 0x58]
cmp byte [ebp + 0x71], 0
je 0x43161c
cmp byte [eax + 0x11], 0
je 0x43161c
cmp byte [ebp + 0xe], 0
je 0x43161c
mov ebx, dword [ebp + 0x68]
mov byte [ebp - 0x5c], cl
mov cl, byte [ebx + 0x78]
mov dword [ebp - 0x68], ecx
test cl, cl
je 0x43152b
cmp byte [eax + 0x15], 0
je 0x43152b
mov ecx, dword [ebx + 0x58]
add ecx, dword [ebx + 0x50]
mov eax, dword [ebx + 0x5c]
adc eax, dword [ebx + 0x54]
add ecx, dword [ebp - 0x14]
adc eax, dword [ebp + 0x54]
push eax
push ecx
push dword [ebp + 0x7c]
mov ecx, ebx
call fcn.0042db49
mov ebx, eax
test ebx, ebx
jne 0x4316b4
mov ebx, dword [ebp + 0x68]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x138]
movzx ecx, cl
cmp byte [ebx + 0x7a], al
cmovne ecx, eax
mov eax, edx
or eax, dword [ebp - 0x134]
je 0x43154f
cmp byte [ebp - 0xeb], 0
jne 0x43156d
mov eax, dword [ebp + 0x4c]
test cl, cl
je 0x43154a
mov al, byte [eax + 2]
jmp 0x431570
mov al, byte [eax + 1]
jmp 0x431570
test cl, cl
jne 0x431558
xor eax, eax
inc eax
jmp 0x43155d
mov eax, dword [ebp + 0x4c]
mov al, byte [eax]
cmp dword [ebp - 0x28], 0xfffffffe
movzx eax, al
cmovge eax, dword [ebp - 0x144]
jmp 0x431570
mov eax, dword [ebp - 0x5c]
cmp dword [ebp - 0x28], 0
jge 0x431583
cmp byte [ebp - 0xec], 0
jne 0x43161c
test al, al
jne 0x4315bd
cmp byte [ebp - 0xec], al
jne 0x43161c
test cl, cl
jne 0x43161c
cmp byte [ebp - 0xeb], cl
je 0x4315ab
or edx, dword [ebp - 0x134]
jne 0x43161c
mov ecx, dword [ebp + 0x38]
cmp dword [ecx + 0x10], 0
jne 0x431600
mov eax, dword [ebp + 0x4c]
cmp byte [eax + 1], 0
je 0x43161f
mov eax, dword [ebp + 0x7c]
lea ecx, [ebx + 4]
push dword [eax + 0x30]
call fcn.0040f6aa
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [ebx]
test ecx, ecx
je 0x4315dd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp + 0x40]
mov dword [ebx], esi
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x14]
mov dword [ebx + 0xd8], eax
mov eax, dword [ebp + 0x54]
mov dword [ebx + 0xdc], eax
xor eax, eax
mov ebx, eax
jmp 0x4316b4
xor eax, eax
inc eax
cmp dword [ecx + 0x10], eax
jne 0x43161f
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 0
je 0x43161f
mov eax, dword [ebp + 0x58]
cmp byte [eax + 0xe], 0
jmp 0x4315bb
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x40]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x138]
push eax
call fcn.0042d7fe
xor eax, eax
lea ecx, [ebp - 0x138]
lea ebx, [eax + 1]
call fcn.0042d58f
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 0xa2
call dword [eax + 8]
mov esi, dword [ebp + 0x7c]
xor eax, eax
mov edx, dword [ebp + 0x64]
mov ecx, dword [ebp + 0x6c]
mov byte [ebp - 4], 0x4a
jmp 0x431675
mov ecx, dword [ebp + 0x6c]
xor eax, eax
mov bl, byte [ebp - 0x35]
inc eax
add edx, eax
push 0
pop eax
adc ecx, eax
mov dword [ebp + 0x64], edx
mov dword [ebp + 0x6c], ecx
cmp byte [ebp + 0x47], 0
je 0x431682
test bl, bl
je 0x431682
xor eax, eax
inc eax
mov byte [ebp + 0x73], al
mov ebx, dword [ebp + 0x3c]
mov eax, dword [ebp + 0x18]
jmp 0x430b86
mov eax, dword [ebp + 0x40]
lea ecx, [ebx + 0xa8]
mov dword [ebx + 0x84], eax
lea eax, [ebx + 0x78]
push eax
call fcn.0042d61e
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4316ca
mov ebx, 0x80004005
lea ecx, [ebp - 0x138]
call fcn.0042d58f
jmp 0x4316ca
mov ebx, eax
jmp 0x4316ca
mov ebx, 0x80004005
mov byte [ebp - 4], 0x9d
test esi, esi
je 0x431747
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x431747
cmp byte [esi + 0x1a], 0
je 0x431782
mov eax, dword [ebp + 0x38]
mov ecx, eax
push dword [ebp + 8]
push dword [ebp + 4]
mov ebx, dword [eax + 0x10]
call fcn.0042d872
mov eax, dword [ebp + 0x38]
cmp dword [eax + 0x10], 0
jne 0x431707
xor eax, eax
lea ebx, [eax + 1]
jmp 0x431747
xor ecx, ecx
inc ecx
cmp ebx, ecx
je 0x431713
cmp dword [eax + 0x10], ecx
je 0x431782
push dword [esi + 0x30]
lea ecx, [eax + 0x20]
call fcn.0040f6aa
push dword [ebp + 0x38]
mov ebx, dword [ebp + 0x68]
mov ecx, ebx
call fcn.0040f6aa
lea ecx, [ebx + 0x78]
call fcn.0042dc21
or dword [ebx + 0x3c], 0xffffffff
xor eax, eax
inc eax
mov byte [ebx + 0x10], al
xor eax, eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
mov ebx, eax
mov byte [ebp - 4], 0xa8
test edi, edi
je 0x431755
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0xa9
mov eax, dword [ecx]
call dword [eax + 8]
push dword [ebp + 0x5c]
call fcn.0056651e
push dword [ebp - 0xa8]
call fcn.0056651e
pop ecx
pop ecx
push dword [ebp - 0x50]
call fcn.0056651e
pop ecx
jmp 0x4317cd
mov byte [ebp - 4], 0xac
test edi, edi
je 0x431790
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ecx, dword [ebp - 0x40]
push ecx
mov byte [ebp - 4], 0xad
mov eax, dword [ecx]
call dword [eax + 8]
push dword [ebp + 0x5c]
call fcn.0056651e
push dword [ebp - 0xa8]
call fcn.0056651e
push dword [ebp - 0x50]
call fcn.0056651e
mov eax, dword [ebp + 0x68]
xor ecx, ecx
add esp, 0xc
cmp dword [eax], ecx
jne 0x4317cb
xor eax, eax
lea ebx, [eax + 1]
jmp 0x4317cd
mov ebx, ecx
push dword [ebp - 0xbc]
call fcn.0056651e
push dword [ebp - 0xc8]
call fcn.0056651e
pop ecx
pop ecx
mov ecx, dword [ebp + 0x28]
push ecx
mov byte [ebp - 4], 0xb0
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp + 0x38]
mov byte [ebp - 4], 0xb1
test ecx, ecx
je 0x431803
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
push dword [ebp - 0x44]
call fcn.0056651e
pop ecx
push dword [ebp - 0x48]
call fcn.0056651e
push dword [ebp + 0x1c]
call fcn.0056651e
push dword [ebp - 0x9c]
call fcn.0056651e
push dword [ebp - 0x158]
call fcn.0056651e
mov ecx, dword [ebp - 0xc]
add esp, 0x10
mov eax, ebx
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
add ebp, 0x74
leave
ret 4