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

Disassembly:
sub esp, 0xa8
mov eax, dword [0x10088064]
xor eax, esp
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xac]
push ebx
mov ebx, dword [esp + 0xb8]
push ebp
push esi
mov esi, eax
mov dword [esp + 0x30], eax
mov al, byte [esp + 0xbc]
mov ebp, edx
test al, al
mov byte [esp + 0xf], al
mov eax, dword [sym.imp.msvcrt.dll_malloc]
mov edx, 0x1e
push edi
mov edi, ecx
mov dword [esp + 0x48], ebp
mov ecx, 0x2e
mov dword [esp + 0x24], edi
cmovne ecx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], ecx
test esi, esi
je 0x100319bf
mov dl, byte [esi]
test dl, dl
je 0x10031987
mov ecx, dword [esi + 8]
sub ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sbb eax, dword [esi + 0x14]
jmp 0x10031998
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test eax, eax
ja 0x10031a6c
jb 0x100319ac
cmp ecx, dword [esp + 0x54]
jae 0x10031a6c
test ebx, ebx
je 0x100322f3
mov dword [ebx], 0x13
jmp 0x100322ec
push 0x18
mov dword [esp + 0x58], ecx
call eax
mov esi, eax
add esp, 4
test esi, esi
je 0x100322e2
lea eax, [esp + 0x84]
mov word [esi], 1
mov dword [esi + 4], eax
lea edx, [esp + 0x84]
mov eax, dword [esp + 0x54]
mov ecx, ebp
push 0
push eax
mov dword [esi + 8], eax
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
call fcn.1002e490
add esp, 8
test edx, edx
jg 0x10031a6a
jl 0x10031a1d
test eax, eax
jae 0x10031a2e
test ebx, ebx
je 0x10031a4b
mov eax, dword [ebp + 0xc]
mov dword [ebx], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 4], eax
jmp 0x10031a4b
test edx, edx
jg 0x10031a6a
jl 0x10031a3a
cmp eax, dword [esp + 0x54]
jae 0x10031a6a
test ebx, ebx
je 0x10031a4b
mov dword [ebx], 0x11
mov dword [ebx + 4], 0
cmp byte [esi + 1], 0
mov edi, dword [sym.imp.msvcrt.dll_free]
je 0x10031a5f
push dword [esi + 4]
call edi
add esp, 4
push esi
call edi
add esp, 4
jmp 0x100322f3
mov dl, byte [esi]
test dl, dl
je 0x10031aa0
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 4
adc ecx, 0
jne 0x10031a85
cmp eax, 4
jb 0x10031aa0
cmp ecx, dword [esi + 0xc]
ja 0x10031aa0
jb 0x10031a91
cmp eax, dword [esi + 8]
ja 0x10031aa0
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031aa5
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], ecx
jmp 0x10031aa5
mov byte [esi], 0
xor edx, edx
cmp byte [esp + 0x13], 0
mov eax, 0x1007d6b8
mov ecx, 0x1007d6b0
cmove ecx, eax
mov eax, dword [edx]
cmp eax, dword [ecx]
je 0x10031af8
test ebx, ebx
je 0x10031ace
mov dword [ebx], 0x13
mov dword [ebx + 4], 0
cmp dword [esp + 0x34], 0
jne 0x100322f3
cmp byte [esi + 1], 0
mov edi, dword [sym.imp.msvcrt.dll_free]
je 0x10031aed
push dword [esi + 4]
call edi
add esp, 4
push esi
call edi
add esp, 4
jmp 0x100322f3
mov ecx, edi
call fcn.100318b0
cmp byte [esp + 0x13], 0
jne 0x10031b5d
cmp byte [esi], 0
je 0x10031b53
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031b20
cmp eax, 2
jb 0x10031b53
cmp ecx, dword [esi + 0xc]
ja 0x10031b53
jb 0x10031b2c
cmp eax, dword [esi + 8]
ja 0x10031b53
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031b56
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [edx + 1]
imul ecx, eax
movzx eax, byte [edx]
add cx, ax
movzx eax, cx
movzx eax, ax
jmp 0x10031b5f
mov byte [esi], 0
xor eax, eax
movzx eax, ax
jmp 0x10031b5f
xor eax, eax
mov word [edi + 8], ax
cmp byte [esi], 0
je 0x10031bad
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031b7d
cmp eax, 2
jb 0x10031bad
cmp ecx, dword [esi + 0xc]
ja 0x10031bad
jb 0x10031b89
cmp eax, dword [esi + 8]
ja 0x10031bad
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031bb0
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [edx + 1]
imul ecx, eax
movzx eax, byte [edx]
add cx, ax
movzx eax, cx
jmp 0x10031bb2
mov byte [esi], 0
xor eax, eax
mov word [edi + 0xa], ax
cmp byte [esi], 0
je 0x10031c00
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031bd0
cmp eax, 2
jb 0x10031c00
cmp ecx, dword [esi + 0xc]
ja 0x10031c00
jb 0x10031bdc
cmp eax, dword [esi + 8]
ja 0x10031c00
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031c03
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [edx + 1]
imul ecx, eax
movzx eax, byte [edx]
add cx, ax
movzx eax, cx
jmp 0x10031c05
mov byte [esi], 0
xor eax, eax
mov word [edi + 0xc], ax
cmp byte [esi], 0
je 0x10031c4a
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031c23
cmp eax, 2
jb 0x10031c4a
cmp ecx, dword [esi + 0xc]
ja 0x10031c4a
jb 0x10031c2f
cmp eax, dword [esi + 8]
ja 0x10031c4a
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031c4d
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
jmp 0x10031c4f
mov byte [esi], 0
xor ecx, ecx
mov dword [edi + 0x10], ecx
mov al, byte [esi]
mov byte [esp + 0x33], al
test al, al
je 0x10031c98
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031c71
cmp eax, 2
jb 0x10031c98
cmp ecx, dword [esi + 0xc]
ja 0x10031c98
jb 0x10031c7d
cmp eax, dword [esi + 8]
ja 0x10031c98
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031c9f
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
jmp 0x10031ca9
mov byte [esi], 0
xor al, al
jmp 0x10031ca3
mov al, byte [esp + 0x33]
xor ecx, ecx
test al, al
je 0x10031ce5
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
add eax, 2
adc edx, 0
jne 0x10031cbc
cmp eax, 2
jb 0x10031ce5
cmp edx, dword [esi + 0xc]
ja 0x10031ce5
jb 0x10031cc8
cmp eax, dword [esi + 8]
ja 0x10031ce5
mov ebp, dword [esi + 4]
add ebp, dword [esi + 0x10]
je 0x10031ce8
mov dword [esi + 0x14], edx
mov dword [esi + 0x10], eax
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp]
shl edx, 8
add edx, eax
jmp 0x10031cea
mov byte [esi], 0
xor edx, edx
mov eax, edx
mov dword [esp + 0x80], 0xffffffff
shr eax, 9
xorps xmm0, xmm0
add eax, 0x50
movlpd qword [esp + 0x78], xmm0
mov dword [esp + 0x74], eax
mov eax, edx
shr eax, 5
and edx, 0x1f
and eax, 0xf
mov dword [esp + 0x6c], edx
dec eax
mov dword [esp + 0x70], eax
mov eax, ecx
shr eax, 0xb
mov dword [esp + 0x68], eax
mov eax, ecx
shr eax, 5
and ecx, 0x1f
and eax, 0x3f
add ecx, ecx
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x64], ecx
call dword [sym.imp.msvcrt.dll__mktime64]
add esp, 4
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], edx
cmp byte [esi], 0
je 0x10031da3
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 4
adc ecx, 0
jne 0x10031d6a
cmp eax, 4
jb 0x10031da3
cmp ecx, dword [esi + 0xc]
ja 0x10031da3
jb 0x10031d76
cmp eax, dword [esi + 8]
ja 0x10031da3
mov edx, dword [esi + 4]
add edx, ebp
je 0x10031da6
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
jmp 0x10031da8
mov byte [esi], 0
xor ecx, ecx
mov dword [edi + 0x20], ecx
cmp byte [esi], 0
je 0x10031e28
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov edx, dword [esi + 0x14]
add eax, 4
adc edx, 0
jne 0x10031dc5
cmp eax, 4
jb 0x10031e28
cmp edx, dword [esi + 0xc]
ja 0x10031e28
jb 0x10031dd1
cmp eax, dword [esi + 8]
ja 0x10031e28
mov ecx, dword [esi + 4]
add ecx, ebp
mov dword [esp + 0x2c], ecx
je 0x10031e2b
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, byte [ecx + 3]
cdq
mov ecx, eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
shld ebp, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 2]
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax + 1]
shl ecx, 8
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax]
shl ecx, 8
cdq
add ecx, eax
adc ebp, edx
jmp 0x10031e3c
mov byte [esi], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ebp
cmp byte [esi], 0
je 0x10031ebf
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov edx, dword [esi + 0x14]
add eax, 4
adc edx, 0
jne 0x10031e5c
cmp eax, 4
jb 0x10031ebf
cmp edx, dword [esi + 0xc]
ja 0x10031ebf
jb 0x10031e68
cmp eax, dword [esi + 8]
ja 0x10031ebf
mov ecx, dword [esi + 4]
add ecx, ebp
mov dword [esp + 0x2c], ecx
je 0x10031ec2
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], edx
movzx eax, byte [ecx + 3]
cdq
mov ecx, eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
shld ebp, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 2]
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax + 1]
shl ecx, 8
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax]
shl ecx, 8
cdq
add ecx, eax
adc ebp, edx
jmp 0x10031ed3
mov byte [esi], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [edi + 0x30], ecx
mov dword [edi + 0x34], ebp
mov dl, byte [esi]
test dl, dl
je 0x10031f28
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031ef2
cmp eax, 2
jb 0x10031f28
cmp ecx, dword [esi + 0xc]
ja 0x10031f28
jb 0x10031efe
cmp eax, dword [esi + 8]
ja 0x10031f28
mov ebp, dword [esi + 4]
add ebp, dword [esi + 0x10]
je 0x10031f2d
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
mov eax, 0x100
movzx ecx, byte [ebp + 1]
imul ecx, eax
movzx eax, byte [ebp]
add cx, ax
movzx ebp, cx
mov dword [esp + 0x28], ebp
jmp 0x10031f39
mov byte [esi], 0
xor dl, dl
mov dword [esp + 0x28], 0
test dl, dl
je 0x10031f82
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031f4c
cmp eax, 2
jb 0x10031f82
cmp ecx, dword [esi + 0xc]
ja 0x10031f82
jb 0x10031f58
cmp eax, dword [esi + 8]
ja 0x10031f82
mov ebp, dword [esi + 4]
add ebp, dword [esi + 0x10]
je 0x10031f87
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [ebp + 1]
imul ecx, eax
movzx eax, byte [ebp]
add cx, ax
movzx eax, cx
mov dword [esp + 0x58], eax
jmp 0x10031f8f
mov byte [esi], 0
xor dl, dl
mov dword [esp + 0x58], 0
cmp byte [esp + 0x13], 0
je 0x10031fb3
xor eax, eax
mov dword [esp + 0x38], 0
mov dword [edi + 0x44], 0
mov word [edi + 0x48], ax
mov dword [edi + 0x4c], eax
jmp 0x10032183
test dl, dl
je 0x10032000
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10031fca
cmp eax, 2
jb 0x10032000
cmp ecx, dword [esi + 0xc]
ja 0x10032000
jb 0x10031fd6
cmp eax, dword [esi + 8]
ja 0x10032000
mov ebp, dword [esi + 4]
add ebp, dword [esi + 0x10]
je 0x10032005
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [ebp + 1]
imul ecx, eax
movzx eax, byte [ebp]
add cx, ax
movzx eax, cx
mov dword [esp + 0x38], eax
jmp 0x10032011
mov byte [esi], 0
xor dl, dl
mov dword [esp + 0x38], 0
test dl, dl
je 0x1003204d
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x10032026
cmp eax, 2
jb 0x1003204d
cmp ecx, dword [esi + 0xc]
ja 0x1003204d
jb 0x10032032
cmp eax, dword [esi + 8]
ja 0x1003204d
mov edx, dword [esi + 4]
add edx, ebp
je 0x10032050
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx ecx, byte [edx + 1]
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
jmp 0x10032052
mov byte [esi], 0
xor ecx, ecx
mov dword [edi + 0x44], ecx
cmp byte [esi], 0
je 0x1003209f
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 2
adc ecx, 0
jne 0x1003206f
cmp eax, 2
jb 0x1003209f
cmp ecx, dword [esi + 0xc]
ja 0x1003209f
jb 0x1003207b
cmp eax, dword [esi + 8]
ja 0x1003209f
mov edx, dword [esi + 4]
add edx, ebp
je 0x100320a2
mov dword [esi + 0x10], eax
mov eax, 0x100
mov dword [esi + 0x14], ecx
movzx ecx, byte [edx + 1]
imul ecx, eax
movzx eax, byte [edx]
add cx, ax
movzx eax, cx
jmp 0x100320a4
mov byte [esi], 0
xor eax, eax
mov word [edi + 0x48], ax
cmp byte [esi], 0
je 0x100320fb
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 4
adc ecx, 0
jne 0x100320c2
cmp eax, 4
jb 0x100320fb
cmp ecx, dword [esi + 0xc]
ja 0x100320fb
jb 0x100320ce
cmp eax, dword [esi + 8]
ja 0x100320fb
mov edx, dword [esi + 4]
add edx, ebp
je 0x100320fe
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 2]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx + 1]
shl ecx, 8
add ecx, eax
movzx eax, byte [edx]
shl ecx, 8
add ecx, eax
jmp 0x10032100
mov byte [esi], 0
xor ecx, ecx
mov dword [edi + 0x4c], ecx
cmp byte [esi], 0
je 0x10032180
mov ebp, dword [esi + 0x10]
mov eax, ebp
mov ecx, dword [esi + 0x14]
add eax, 4
adc ecx, 0
jne 0x1003211d
cmp eax, 4
jb 0x10032180
cmp ecx, dword [esi + 0xc]
ja 0x10032180
jb 0x10032129
cmp eax, dword [esi + 8]
ja 0x10032180
mov edx, dword [esi + 4]
add edx, ebp
mov dword [esp + 0x2c], edx
je 0x10032183
mov dword [esi + 0x14], ecx
mov dword [esi + 0x10], eax
movzx eax, byte [edx + 3]
cdq
mov ecx, eax
mov ebp, edx
mov eax, dword [esp + 0x2c]
shld ebp, ecx, 8
shl ecx, 8
movzx eax, byte [eax + 2]
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax + 1]
shl ecx, 8
cdq
add ecx, eax
mov eax, dword [esp + 0x2c]
adc ebp, edx
shld ebp, ecx, 8
movzx eax, byte [eax]
shl ecx, 8
cdq
add ecx, eax
adc ebp, edx
jmp 0x10032194
mov byte [esi], 0
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [edi + 0x50], ecx
mov dword [edi + 0x54], ebp
cmp byte [esi], 0
jne 0x100321da
test ebx, ebx
je 0x100321b0
mov dword [ebx], 0x14
mov dword [ebx + 4], 0
cmp dword [esp + 0x34], 0
jne 0x100322f3
cmp byte [esi + 1], 0
mov edi, dword [sym.imp.msvcrt.dll_free]
je 0x100321cf
push dword [esi + 4]
call edi
add esp, 4
push esi
call edi
add esp, 4
jmp 0x100322f3
movzx eax, word [edi + 0xc]
test al, 1
je 0x100321f6
test al, 0x40
mov ecx, 1
mov eax, 0xffff
cmove eax, ecx
movzx eax, ax
jmp 0x100321f8
xor eax, eax
mov word [edi + 0x5a], ax
lea eax, [edi + 0x3c]
mov ebp, dword [sym.imp.msvcrt.dll_free]
mov dword [esp + 0x5c], eax
mov dword [eax], 0
mov eax, dword [esp + 0x58]
movzx edx, ax
mov eax, dword [esp + 0x38]
movzx ecx, ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], edx
add edx, ecx
movzx eax, ax
add edx, eax
mov dword [edi + 0x38], 0
cmp dword [esp + 0x34], 0
mov dword [edi + 0x40], 0
mov dword [esp + 0x50], edx
je 0x1003229a
cmp byte [esi], 0
je 0x10032258
mov ecx, dword [esi + 8]
sub ecx, dword [esi + 0x10]
mov eax, dword [esi + 0xc]
sbb eax, dword [esi + 0x14]
jmp 0x10032269
xorps xmm0, xmm0
movlpd qword [esp + 0x18], xmm0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], edx
mov dword [esp + 0x2c], 0
test eax, eax
ja 0x10032392
jb 0x10032287
cmp ecx, edx
jae 0x10032392
test ebx, ebx
je 0x100322f3
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xc
jmp 0x100322f3
cmp byte [esi + 1], 0
je 0x100322a8
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
mov esi, dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x2c], 0
push dword [esp + 0x50]
call esi
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x100322e2
push 0x18
call esi
mov edx, dword [esp + 0x18]
mov esi, eax
add esp, 4
test esi, esi
jne 0x10032311
push edx
call ebp
add esp, 4
test ebx, ebx
je 0x100322f3
mov dword [ebx], 0xe
mov dword [ebx + 4], 0
or eax, 0xffffffff
or edx, eax
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.1005c833
add esp, 0xa8
ret
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x50]
push ecx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [esp + 0x4c]
push eax
mov word [esi], 0x101
mov dword [esi + 4], edx
mov dword [esi + 8], eax
call fcn.1002e490
add esp, 8
test edx, edx
jg 0x1003235a
jl 0x10032345
test eax, eax
jae 0x1003235a
test ebx, ebx
je 0x10032379
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
mov dword [ebx], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 4], eax
jmp 0x10032379
cmp edx, dword [esp + 0x2c]
jg 0x10032392
jl 0x10032368
cmp eax, dword [esp + 0x50]
jae 0x10032392
test ebx, ebx
je 0x10032379
mov dword [ebx], 0x11
mov dword [ebx + 4], 0
cmp byte [esi + 1], 0
je 0x10032387
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov eax, dword [esp + 0x28]
test ax, ax
je 0x100324ee
mov edx, dword [esp + 0x48]
mov ecx, esi
push ebx
push 1
push eax
call fcn.1002feb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
mov dword [edi + 0x38], edx
test edx, edx
jne 0x100323fc
cmp dword [ebx], 0x11
jne 0x100323d0
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xc
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x100323f1
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov eax, 0x800
test word [edi + 0xc], ax
je 0x100324ee
mov ecx, dword [edx + 8]
mov eax, dword [edx]
mov dword [esp + 0x40], eax
test ecx, ecx
jne 0x100324df
movzx ebp, word [edx + 4]
xor eax, eax
mov ecx, 1
mov dword [esp + 0x3c], ebp
test ebp, ebp
mov dword [esp + 0x20], ecx
mov ebp, dword [sym.imp.msvcrt.dll_free]
mov dword [esp + 0x28], eax
je 0x100324df
mov ecx, dword [esp + 0x40]
add ecx, eax
mov dword [esp + 0x18], ecx
mov cl, byte [ecx]
cmp cl, 0x1f
jbe 0x10032457
cmp cl, 0x80
jb 0x100324c8
cmp cl, 0xd
je 0x100324c8
cmp cl, 0xa
je 0x100324c8
cmp cl, 9
je 0x100324c8
mov al, cl
mov dword [esp + 0x20], 3
and al, 0xe0
cmp al, 0xc0
jne 0x1003247d
mov edx, 1
jmp 0x1003249d
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x1003248c
mov edx, 2
jmp 0x1003249d
and cl, 0xf8
cmp cl, 0xf0
jne 0x10032523
mov edx, 3
mov eax, dword [esp + 0x28]
add eax, edx
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x3c]
jae 0x10032523
mov ecx, 1
mov eax, dword [esp + 0x18]
mov al, byte [eax + ecx]
and al, 0xc0
cmp al, 0x80
jne 0x10032523
inc ecx
cmp ecx, edx
jbe 0x100324b2
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x3c]
jb 0x10032441
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [edx + 8], ecx
cmp ecx, 3
jne 0x10032530
mov dword [edx + 8], 2
cmp word [esp + 0x58], 0
je 0x1003270d
push dword [esp + 0x44]
call dword [esp + 0x50]
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
jne 0x10032577
test ebx, ebx
je 0x100326a6
mov dword [ebx], 0xe
mov dword [ebx + 4], eax
jmp 0x100326a6
mov eax, dword [esp + 0x14]
mov dword [eax + 8], 4
jmp 0x1003253a
cmp ecx, 2
je 0x100324ee
cmp ecx, 1
je 0x100324ee
test ebx, ebx
je 0x1003254b
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xd
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x1003256c
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
test esi, esi
je 0x10032667
cmp byte [esi], 0
je 0x10032651
mov ecx, dword [esp + 0x44]
mov edx, 0
add ecx, dword [esi + 0x10]
adc edx, dword [esi + 0x14]
test edx, edx
jb 0x10032651
ja 0x100325ab
cmp ecx, dword [esp + 0x44]
jb 0x10032651
cmp edx, dword [esi + 0xc]
ja 0x10032651
jb 0x100325bf
cmp ecx, dword [esi + 8]
ja 0x10032651
mov ebp, dword [esi + 4]
add ebp, dword [esi + 0x10]
mov dword [esp + 0x18], ebp
mov ebp, dword [sym.imp.msvcrt.dll_free]
je 0x10032654
push dword [esp + 0x44]
mov dword [esi + 0x10], ecx
push dword [esp + 0x1c]
mov dword [esi + 0x14], edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x13], 0
lea eax, [edi + 0x3c]
mov edx, dword [esp + 0x58]
mov ecx, 0x100
push ebx
push eax
mov eax, 0x200
cmovne eax, ecx
mov ecx, dword [esp + 0x30]
push eax
call fcn.10034b90
add esp, 0xc
push dword [esp + 0x28]
test al, al
jne 0x100326fd
call ebp
add esp, 4
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x10032646
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov byte [esi], 0
test ebx, ebx
je 0x100326a0
mov dword [ebx], 0xe
mov dword [ebx + 4], 0
jmp 0x100326a0
mov ecx, dword [esp + 0x48]
mov edx, eax
push 0
push dword [esp + 0x48]
call fcn.1002e490
add esp, 8
test edx, edx
jg 0x100325ec
jl 0x10032689
test eax, eax
jae 0x100326d2
test ebx, ebx
je 0x1003269c
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0xc]
mov dword [ebx], eax
mov eax, dword [ecx + 0x10]
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x28]
push eax
call ebp
add esp, 4
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x100326c7
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
test edx, edx
jg 0x100325ec
jl 0x100326e6
cmp eax, dword [esp + 0x44]
jae 0x100325ec
mov eax, dword [esp + 0x28]
test ebx, ebx
je 0x100326a0
mov dword [ebx], 0x11
mov dword [ebx + 4], 0
jmp 0x100326a0
call ebp
add esp, 4
cmp byte [esp + 0x13], 0
je 0x1003270d
mov byte [edi + 4], 1
mov eax, dword [esp + 0x38]
test ax, ax
je 0x10032848
mov edx, dword [esp + 0x48]
mov ecx, esi
push ebx
push 0
push eax
call fcn.1002feb0
mov edx, eax
add esp, 0xc
mov dword [esp + 0x14], edx
mov dword [edi + 0x40], edx
test edx, edx
jne 0x10032763
cmp dword [esp + 0x34], eax
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], al
je 0x10032758
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov eax, 0x800
test word [edi + 0xc], ax
je 0x10032848
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 8]
test eax, eax
jne 0x10032839
movzx ecx, word [edx + 4]
mov eax, 1
xor edi, edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x10032835
nop
mov eax, dword [esp + 0x18]
add eax, edi
mov dword [esp + 0x40], eax
mov cl, byte [eax]
cmp cl, 0x1f
jbe 0x100327b6
cmp cl, 0x80
jb 0x10032822
cmp cl, 0xd
je 0x10032822
cmp cl, 0xa
je 0x10032822
cmp cl, 9
je 0x10032822
mov al, cl
mov dword [esp + 0x3c], 3
and al, 0xe0
cmp al, 0xc0
jne 0x100327dc
mov edx, 1
jmp 0x100327fc
mov al, cl
and al, 0xf0
cmp al, 0xe0
jne 0x100327eb
mov edx, 2
jmp 0x100327fc
and cl, 0xf8
cmp cl, 0xf0
jne 0x10032880
mov edx, 3
add edi, edx
cmp edi, dword [esp + 0x20]
jae 0x10032880
mov ecx, 1
nop dword [eax]
mov eax, dword [esp + 0x40]
mov al, byte [eax + ecx]
and al, 0xc0
cmp al, 0x80
jne 0x10032880
inc ecx
cmp ecx, edx
jbe 0x10032810
inc edi
cmp edi, dword [esp + 0x20]
jb 0x100327a0
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x24]
mov dword [edx + 8], eax
cmp eax, 3
jne 0x1003288d
mov dword [edx + 8], 2
mov eax, dword [edi + 0x38]
mov edx, 0x7075
mov ecx, dword [edi + 0x3c]
mov dword [esp + 0x38], eax
xor eax, eax
test ecx, ecx
je 0x10032a08
cmp word [ecx + 8], dx
jne 0x10032875
test dword [ecx + 4], 0x300
je 0x10032875
test eax, eax
jns 0x100328d4
inc eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10032861
jmp 0x10032a08
mov eax, dword [esp + 0x14]
mov dword [eax + 8], 4
jmp 0x10032897
cmp eax, 2
je 0x10032848
cmp eax, 1
je 0x10032848
test ebx, ebx
je 0x100328a8
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xd
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x100328c9
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
movzx eax, word [ecx + 0xa]
mov edx, eax
mov dword [esp + 0x18], edx
test ax, ax
je 0x10032a08
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
test eax, eax
je 0x10032a08
cmp edx, 5
jb 0x10032a08
cmp byte [eax], 1
jne 0x10032a08
mov eax, edx
movzx eax, ax
cdq
push 0x18
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
call dword [esp + 0x50]
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x10032a08
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov word [ecx], 1
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10034610
call fcn.100344e0
mov dword [esp + 0x18], eax
xor ecx, ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10032988
mov edx, dword [eax]
movzx ecx, word [eax + 4]
test edx, edx
jne 0x1003297b
xor ecx, ecx
jmp 0x10032988
push ecx
xor ecx, ecx
call fcn.10035d90
add esp, 4
mov ecx, eax
cmp ecx, dword [esp + 0x18]
jne 0x100329ec
mov ecx, dword [esp + 0x14]
call fcn.10034650
mov di, ax
push 0
movzx eax, di
cdq
push 0x800
push edx
push eax
call fcn.10034440
add esp, 8
mov edx, edi
mov ecx, eax
call fcn.1002f710
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x100329e8
mov edi, dword [esp + 0x38]
test edi, edi
je 0x100329e4
push dword [edi]
call ebp
add esp, 4
push dword [edi + 0xc]
call ebp
add esp, 4
push edi
call ebp
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0
je 0x10032a02
push dword [eax + 4]
call ebp
mov eax, dword [esp + 0x18]
add esp, 4
push eax
call ebp
add esp, 4
mov eax, dword [esp + 0x38]
mov edx, 0x6375
mov ecx, dword [edi + 0x3c]
mov dword [edi + 0x38], eax
mov eax, dword [edi + 0x40]
mov dword [esp + 0x38], eax
xor eax, eax
test ecx, ecx
je 0x10032b7b
cmp word [ecx + 8], dx
jne 0x10032a3c
test dword [ecx + 4], 0x300
je 0x10032a3c
test eax, eax
jns 0x10032a47
inc eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10032a28
jmp 0x10032b7b
movzx eax, word [ecx + 0xa]
mov edx, eax
mov dword [esp + 0x18], edx
test ax, ax
je 0x10032b7b
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x40], eax
test eax, eax
je 0x10032b7b
cmp edx, 5
jb 0x10032b7b
cmp byte [eax], 1
jne 0x10032b7b
mov eax, edx
movzx eax, ax
cdq
push 0x18
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
call dword [esp + 0x50]
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x10032b7b
mov eax, dword [esp + 0x40]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov word [ecx], 1
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], 0
call fcn.10034610
call fcn.100344e0
mov dword [esp + 0x18], eax
xor ecx, ecx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10032afb
mov edx, dword [eax]
movzx ecx, word [eax + 4]
test edx, edx
jne 0x10032aee
xor ecx, ecx
jmp 0x10032afb
push ecx
xor ecx, ecx
call fcn.10035d90
add esp, 4
mov ecx, eax
cmp ecx, dword [esp + 0x18]
jne 0x10032b5f
mov ecx, dword [esp + 0x14]
call fcn.10034650
mov di, ax
push 0
movzx eax, di
cdq
push 0x800
push edx
push eax
call fcn.10034440
add esp, 8
mov edx, edi
mov ecx, eax
call fcn.1002f710
add esp, 8
mov dword [esp + 0x18], eax
test eax, eax
je 0x10032b5b
mov edi, dword [esp + 0x38]
test edi, edi
je 0x10032b57
push dword [edi]
call ebp
add esp, 4
push dword [edi + 0xc]
call ebp
add esp, 4
push edi
call ebp
mov eax, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
cmp byte [eax + 1], 0
je 0x10032b75
push dword [eax + 4]
call ebp
mov eax, dword [esp + 0x18]
add esp, 4
push eax
call ebp
add esp, 4
cmp dword [edi + 0x30], 0xffffffff
mov eax, dword [esp + 0x38]
mov dword [edi + 0x40], eax
jne 0x10032b8e
cmp dword [edi + 0x34], 0
je 0x10032bae
cmp dword [edi + 0x28], 0xffffffff
jne 0x10032b9a
cmp dword [edi + 0x2c], 0
je 0x10032bae
cmp dword [edi + 0x50], 0xffffffff
jne 0x10032e3f
cmp dword [edi + 0x54], 0
jne 0x10032e3f
mov eax, dword [esp + 0x5c]
xor edx, edx
mov ecx, dword [eax]
test ecx, ecx
je 0x10032be4
mov edi, 0x100
nop
cmp word [ecx + 8], 1
jne 0x10032bde
cmp byte [esp + 0x13], 0
mov eax, 0x200
cmovne eax, edi
test dword [ecx + 4], eax
je 0x10032bde
test edx, edx
jns 0x10032c21
inc edx
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10032bc0
test ebx, ebx
je 0x10032bf5
mov dword [ebx], 9
mov dword [ebx + 4], 0
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x10032c16
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
movzx eax, word [ecx + 0xa]
mov edx, eax
mov dword [esp + 0x3c], edx
test ax, ax
je 0x10032c3d
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x10032c46
jmp 0x10032bf5
mov ecx, 0x10079c49
mov dword [esp + 0x20], ecx
movzx eax, dx
test ecx, ecx
cdq
push 0x18
mov dword [esp + 0x1c], eax
sete byte [esp + 0x37]
mov dword [esp + 0x44], edx
call dword [esp + 0x50]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10032ca1
test ebx, ebx
je 0x10032c75
mov dword [ebx], 0xe
mov dword [ebx + 4], eax
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x10032c96
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov cl, byte [esp + 0x33]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov byte [edi + 1], cl
mov ecx, dword [esp + 0x24]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x40]
mov byte [edi], 1
cmp dword [ecx + 0x30], 0xffffffff
mov dword [edi + 8], edx
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
jne 0x10032cf1
cmp dword [ecx + 0x34], 0
jne 0x10032cf1
mov ecx, edi
call fcn.10034540
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], edx
jmp 0x10032d16
cmp byte [esp + 0x13], 0
je 0x10032d16
test eax, eax
ja 0x10032d08
jb 0x10032d03
cmp edx, 8
jae 0x10032d08
mov byte [edi], 0
jmp 0x10032d16
mov dword [edi + 0x10], 8
mov dword [edi + 0x14], 0
cmp dword [ecx + 0x28], 0xffffffff
jne 0x10032d33
cmp dword [ecx + 0x2c], 0
jne 0x10032d33
mov ecx, edi
call fcn.10034540
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], edx
cmp byte [esp + 0x13], 0
jne 0x10032d6e
cmp dword [ecx + 0x50], 0xffffffff
jne 0x10032d57
cmp dword [ecx + 0x54], 0
jne 0x10032d57
mov ecx, edi
call fcn.10034540
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x50], eax
mov dword [ecx + 0x54], edx
cmp dword [ecx + 0x44], 0xffff
jne 0x10032d6e
mov ecx, edi
call fcn.100344e0
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x44], eax
cmp byte [edi], 0
je 0x10032d87
mov eax, dword [edi + 0x10]
cmp eax, dword [edi + 8]
jne 0x10032d87
mov eax, dword [edi + 0x14]
cmp eax, dword [edi + 0xc]
je 0x10032e27
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x14], 1
cmp ax, 0x18
je 0x10032dcd
cmp ax, 0x1c
jne 0x10032e7d
push 0
push 0x18
mov ecx, edi
call fcn.10034930
add esp, 8
call fcn.100344e0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
movzx edx, dl
cmp dword [ecx + 0x44], eax
mov eax, 0
cmovne edx, eax
mov dword [esp + 0x14], edx
push 0
push 0
mov ecx, edi
call fcn.10034930
add esp, 8
call fcn.10034540
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x30], eax
jne 0x10032e7d
cmp dword [ecx + 0x34], edx
jne 0x10032e7d
mov ecx, edi
call fcn.10034540
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x28], eax
jne 0x10032e7d
cmp dword [ecx + 0x2c], edx
jne 0x10032e7d
mov ecx, edi
call fcn.10034540
mov ecx, dword [esp + 0x24]
cmp dword [ecx + 0x50], eax
jne 0x10032e7d
cmp dword [ecx + 0x54], edx
jne 0x10032e7d
cmp byte [esp + 0x14], 0
je 0x10032e7d
cmp byte [edi + 1], 0
je 0x10032e35
push dword [edi + 4]
call ebp
add esp, 4
push edi
call ebp
mov edi, dword [esp + 0x28]
add esp, 4
cmp byte [esi], 0
jne 0x10032ece
test ebx, ebx
je 0x10032e59
mov dword [ebx], 0x14
mov dword [ebx + 4], 0
cmp dword [esp + 0x34], 0
jne 0x100322f3
cmp byte [esi + 1], 0
je 0x10032e72
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
test ebx, ebx
je 0x10032e8e
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xe
cmp byte [edi + 1], 0
je 0x10032e9c
push dword [edi + 4]
call ebp
add esp, 4
push edi
call ebp
add esp, 4
cmp dword [esp + 0x34], 0
jne 0x100322f3
test esi, esi
je 0x100322f3
cmp byte [esi + 1], 0
je 0x10032ec3
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
cmp dword [esp + 0x34], 0
jne 0x10032ee9
cmp byte [esi + 1], 0
je 0x10032ee3
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
cmp dword [edi + 0x54], 0x7fffffff
jb 0x10032f14
ja 0x10032efa
cmp dword [edi + 0x50], 0xffffffff
jbe 0x10032f14
test ebx, ebx
je 0x100322f3
mov dword [ebx], 4
mov dword [ebx + 4], 0x1b
jmp 0x100322f3
cmp dword [edi + 0x10], 0x63
mov edx, 0x9901
jne 0x100330b2
mov ecx, dword [edi + 0x3c]
xor eax, eax
test ecx, ecx
je 0x10032f4a
nop dword [eax]
cmp word [ecx + 8], dx
jne 0x10032f44
test dword [ecx + 4], 0x300
je 0x10032f44
test eax, eax
jns 0x10032f64
inc eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x10032f30
test ebx, ebx
je 0x100322f3
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xe
jmp 0x100322f3
movzx eax, word [ecx + 0xa]
mov edx, eax
mov esi, eax
mov dword [esp + 0x3c], edx
test ax, ax
je 0x10032f4a
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
test eax, eax
je 0x10032f4a
cmp edx, 7
jb 0x10032f4a
mov eax, esi
cdq
push 0x18
mov dword [esp + 0x44], eax
mov dword [esp + 0x24], edx
call dword [esp + 0x50]
mov esi, eax
add esp, 4
test esi, esi
jne 0x10032fb2
test ebx, ebx
je 0x100322f3
mov dword [ebx], 0x14
jmp 0x100322ec
mov eax, dword [esp + 0x18]
mov ecx, esi
mov dword [esi + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x20]
mov word [esi], 1
mov dword [esi + 0xc], eax
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov byte [esp + 0x13], 1
call fcn.10034490
movzx eax, ax
sub eax, 1
je 0x1003300b
sub eax, 1
je 0x10033006
test ebx, ebx
je 0x10033068
mov dword [ebx], 0x18
mov dword [ebx + 4], 0
jmp 0x10033068
mov byte [esp + 0x13], 0
push 0
push 2
mov ecx, esi
call fcn.10034440
mov ecx, 0x4541
add esp, 8
cmp word [eax], cx
jne 0x10032ff3
mov ecx, esi
call fcn.10034610
movzx eax, al
sub eax, 1
je 0x1003304a
sub eax, 1
je 0x10033043
sub eax, 1
jne 0x10032ff3
mov eax, 0x103
jmp 0x1003304f
mov eax, 0x102
jmp 0x1003304f
mov eax, 0x101
cmp word [esp + 0x3c], 7
je 0x10033081
test ebx, ebx
je 0x10033068
mov dword [ebx], 0x15
mov dword [ebx + 4], 0xe
cmp byte [esi + 1], 0
je 0x10033076
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
jmp 0x100322f3
mov cl, byte [esp + 0x13]
mov byte [edi + 6], cl
mov ecx, esi
mov word [edi + 0x5a], ax
call fcn.10034490
cmp byte [esi + 1], 0
movzx eax, ax
mov dword [edi + 0x10], eax
je 0x100330a7
push dword [esi + 4]
call ebp
add esp, 4
push esi
call ebp
add esp, 4
mov edx, 0x9901
lea eax, [edi + 0x3c]
mov dword [esp + 0x20], 0
mov edi, dword [eax]
mov ebx, edi
test edi, edi
je 0x10033141
nop dword [eax]
movzx eax, word [edi + 8]
mov ecx, 0x6375
cmp ax, cx
je 0x100330fa
mov ecx, 0x7075
cmp ax, cx
je 0x100330fa
cmp ax, dx
je 0x100330fa
cmp eax, 1
je 0x100330fa
mov dword [esp + 0x20], edi
mov edi, dword [edi]
jmp 0x10033139
mov eax, dword [edi]
cmp ebx, edi
mov dword [esp + 0x3c], eax
cmove ebx, eax
mov dword [edi], 0
nop dword [eax + eax]
push dword [edi + 0xc]
mov esi, dword [edi]
call ebp
add esp, 4
push edi
call ebp
add esp, 4
mov edi, esi
test esi, esi
jne 0x10033110
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
test ecx, ecx
je 0x10033134
mov dword [ecx], edi
mov edx, 0x9901
test edi, edi
jne 0x100330d0
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x2c]
mov dword [eax], ebx
mov eax, dword [esp + 0x50]
add eax, dword [esp + 0x54]
adc edx, 0
jmp 0x100322f8