Function at 0x4038c0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42ec37
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x442068]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x30], 0
push 0x38
lea eax, [ebp - 0x6c]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.00413c50
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x68], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov byte [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 0
xor eax, eax
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
add esp, 8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x28]
push str._s_EncodeHeaderHeaderEncode1__s__.__
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 3
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 1
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x4039e2
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x4039e6
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403a08
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403a08
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x403a2d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x403a2d
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x403a63
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 1
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x403c4d
lea eax, [ebp - 0x40]
jmp 0x403c53
push ecx
push str._s_Encode2__s__.__
lea ecx, [ebp - 0x28]
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 5
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 2
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x403ad9
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x403add
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403aff
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403aff
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x403b24
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x403b24
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x403b59
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 2
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, esi
ja 0x403c4d
lea eax, [ebp - 0x40]
jmp 0x403c53
push ecx
push str._s_Encode4__s__.__
lea ecx, [ebp - 0x28]
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 7
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 4
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x403bcf
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x403bd3
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403bf5
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403bf5
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x403c1a
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x403c1a
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x403cab
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 3
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x403c4d
lea eax, [ebp - 0x40]
jmp 0x403c53
mov eax, dword [ebp - 0x64]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x403c60
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x403c64
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x1c], edx
mov word [ebp - 0x2c], dx
cmp ecx, eax
je 0x403c86
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00405a30
lea ecx, [ebp - 0x84]
call fcn.00401340
movups xmm0, xmmword [ebp - 0x2c]
movups xmmword [ebp - 0x84], xmm0
movq xmm0, qword [ebp - 0x1c]
movq qword [ebp - 0x74], xmm0
jmp 0x404055
push ecx
push str._s_Encode8__s__.__
lea ecx, [ebp - 0x28]
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 9
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 8
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x403d21
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x403d25
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403d47
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403d47
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x403d6c
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x403d6c
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x403e28
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 6
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x403d9f
lea eax, [ebp - 0x40]
jmp 0x403da5
mov eax, dword [ebp - 0x64]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x403db2
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x403db6
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], dx
cmp ecx, eax
je 0x403ddc
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x2c]
call fcn.00405a30
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x84]
call fcn.004049b0
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x404055
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40404b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
jmp 0x40404b
push ecx
push str._s_EncodeWStr1__s__.__
lea ecx, [ebp - 0x28]
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 0x10
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x403e9e
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x403ea2
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403ec4
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403ec4
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x403ee9
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x403ee9
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x403f50
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 4
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x403f18
lea eax, [ebp - 0x40]
jmp 0x403f1e
mov eax, dword [ebp - 0x64]
add eax, 0x18
cmp byte [eax + 8], 0
je 0x403f2b
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x403f2f
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], dx
cmp ecx, eax
je 0x403ddc
jmp 0x403dce
push ecx
push str._s_EncodeWStr2__s__.__
lea ecx, [ebp - 0x28]
call fcn.004047e0
mov dword [ebp - 0xa0], eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp + 8]
cmp dword [ebp + 0x1c], 8
lea edi, [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
cmovae ecx, edx
cmovae edi, edx
mov dword [ebp - 0x30], 0x20
push edi
lea eax, [ecx + eax*2]
lea ecx, [ebp + 8]
cmovae ecx, edx
mov edx, dword [ebp - 0xa0]
push ecx
push eax
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00407b50
add esp, 0x10
test al, al
je 0x403fc6
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
imul ecx
mov byte [ebp - 0x14], 1
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
jae 0x403fca
mov byte [ebp - 0x14], 0
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x403fec
or eax, 0xffffffff
lock xadd dword [ecx + 0x20], eax
jne 0x403fec
mov ecx, dword [ebp - 0x28]
xor edx, edx
call fcn.004025c0
mov dword [ebp - 0x28], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x404011
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x404011
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x14], 0
je 0x404393
mov ecx, dword [ebp - 0x60]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x64]
mov esi, 5
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
ja 0x403f18
lea eax, [ebp - 0x40]
jmp 0x403f1e
push edx
push ecx
call fcn.00411b90
add esp, 8
lea eax, [esi - 1]
jmp dword [eax*4 + 0x404544]
lea eax, [ebp - 0x34]
xorps xmm0, xmm0
push eax
sub esp, 0x18
movlpd qword [ebp - 0x34], xmm0
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.00402c20
test al, al
je 0x404448
mov ecx, dword [ebp - 0xa4]
mov dl, byte [ebp - 0x34]
add ecx, 0xc
mov byte [ebp - 0x14], dl
mov eax, dword [ecx + 4]
cmp dword [ecx + 8], eax
je 0x4040ae
mov byte [eax], dl
inc dword [ecx + 4]
mov byte [ebp - 0x14], 1
jmp 0x40444c
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.004013b0
mov byte [ebp - 0x14], 1
jmp 0x40444c
lea eax, [ebp - 0x34]
xorps xmm0, xmm0
push eax
sub esp, 0x18
movlpd qword [ebp - 0x34], xmm0
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.00402c20
test al, al
je 0x404448
mov esi, dword [ebp - 0xa4]
movzx eax, word [ebp - 0x34]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x14], al
mov ecx, dword [esi + 0x10]
cmp dword [esi + 0x14], ecx
je 0x40410d
mov byte [ecx], al
inc dword [esi + 0x10]
jmp 0x404120
lea eax, [ebp - 0x14]
push eax
push ecx
lea ecx, [esi + 0xc]
call fcn.004013b0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [esi + 0x10]
shr eax, 8
mov byte [ebp - 0x14], al
cmp dword [esi + 0x14], ecx
je 0x40413c
mov byte [ecx], al
inc dword [esi + 0x10]
mov byte [ebp - 0x14], 1
jmp 0x40444c
lea eax, [ebp - 0x14]
push eax
push ecx
lea ecx, [esi + 0xc]
call fcn.004013b0
mov byte [ebp - 0x14], 1
jmp 0x40444c
lea eax, [ebp - 0x34]
xorps xmm0, xmm0
push eax
sub esp, 0x18
movlpd qword [ebp - 0x34], xmm0
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.00402c20
test al, al
je 0x404448
mov ecx, dword [ebp - 0xa4]
push dword [ebp - 0x34]
lea ecx, [ecx + 0xc]
call fcn.00401170
mov byte [ebp - 0x14], 1
jmp 0x40444c
lea eax, [ebp - 0x34]
xorps xmm0, xmm0
push eax
sub esp, 0x18
movlpd qword [ebp - 0x34], xmm0
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.00402c20
test al, al
je 0x404448
mov esi, dword [ebp - 0xa4]
push dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
lea ecx, [esi + 0xc]
call fcn.00401170
push edi
lea ecx, [esi + 0xc]
call fcn.00401170
mov byte [ebp - 0x14], 1
jmp 0x40444c
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x10
push eax
sub esp, 0x18
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.004035b0
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0x2c]
call fcn.00404a40
mov esi, dword [ebp - 0xa4]
add esi, 0xc
mov byte [ebp - 4], 0x11
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0x1c]
mov byte [ebp - 0x14], cl
cmp dword [esi + 8], eax
je 0x404255
mov byte [eax], cl
inc dword [esi + 4]
jmp 0x404261
lea ecx, [ebp - 0x14]
push ecx
push eax
mov ecx, esi
call fcn.004013b0
mov eax, dword [ebp - 0x1c]
xor edi, edi
test eax, eax
je 0x4042d4
cmp eax, edi
jbe 0x40453f
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov ecx, dword [esi + 4]
cmovae eax, dword [ebp - 0x2c]
movzx eax, word [eax + edi*2]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x14], al
cmp dword [esi + 8], ecx
je 0x404299
mov byte [ecx], al
inc dword [esi + 4]
jmp 0x4042ab
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, esi
call fcn.004013b0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [esi + 4]
shr eax, 8
mov byte [ebp - 0x14], al
cmp dword [esi + 8], ecx
je 0x4042c0
mov byte [ecx], al
inc dword [esi + 4]
jmp 0x4042cc
lea eax, [ebp - 0x14]
push eax
push ecx
mov ecx, esi
call fcn.004013b0
mov eax, dword [ebp - 0x1c]
inc edi
cmp eax, edi
ja 0x404272
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x40430e
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404304
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
push edx
push ecx
call fcn.00411b90
add esp, 8
lea ecx, [ebp - 0x9c]
call fcn.00401340
mov byte [ebp - 0x14], 1
jmp 0x40444c
xor eax, eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 7
mov word [ebp - 0x9c], ax
lea eax, [ebp - 0x9c]
mov byte [ebp - 4], 0x12
push eax
sub esp, 0x18
lea eax, [ebp - 0x84]
mov ecx, esp
push eax
call fcn.00404a40
call fcn.004035b0
sub esp, 0x18
lea eax, [ebp - 0x9c]
mov ecx, esp
push eax
call fcn.00404a40
mov ecx, dword [ebp - 0xa4]
lea ecx, [ecx + 0xc]
call fcn.00401210
lea ecx, [ebp - 0x9c]
call fcn.00401340
mov byte [ebp - 0x14], 1
jmp 0x40444c
push str._Maple_
lea ecx, [ebp - 0x2c]
call fcn.004049f0
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x18]
mov eax, edx
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
cmp eax, 0xd
jb 0x4043de
cmp edx, 8
lea esi, [ebp - 0x2c]
push 0x1a
cmovae esi, dword [ebp - 0x2c]
lea edi, [ecx + 0xd]
push str.Parse_Failvvv
mov dword [ebp - 0x1c], edi
lea eax, [esi + ecx*2]
push eax
call fcn.004136d0
add esp, 0xc
xor eax, eax
mov word [esi + edi*2], ax
jmp 0x4043fc
push 0xd
push str.Parse_Failvvv
mov byte [ebp - 0xa0], 0
lea ecx, [ebp - 0x2c]
push dword [ebp - 0xa0]
push 0xd
call fcn.00406c70
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
cmovae eax, dword [ebp - 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov edx, dword [ebp - 0x18]
cmp edx, 8
jb 0x404448
mov ecx, dword [ebp - 0x2c]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40443e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
push edx
push ecx
call fcn.00411b90
add esp, 8
mov byte [ebp - 0x14], 0
mov edx, dword [ebp - 0x70]
cmp edx, 8
jb 0x404489
mov ecx, dword [ebp - 0x84]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x40447f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
push edx
push ecx
call fcn.00411b90
add esp, 8
mov esi, dword [ebp - 0x64]
test esi, esi
je 0x4044e4
mov ecx, dword [ebp - 0x5c]
mov eax, 0x2aaaaaab
sub ecx, esi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 2
cmp ecx, 0x1000
jb 0x4044c5
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
push ecx
push esi
call fcn.00411b90
add esp, 8
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov edx, dword [ebp + 0x1c]
cmp edx, 8
jb 0x40451a
mov ecx, dword [ebp + 8]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x404510
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40453a
push edx
push ecx
call fcn.00411b90
add esp, 8
mov al, byte [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00411b4f
mov esp, ebp
pop ebp
ret 0x18
call fcn.0041670c
call fcn.004013a0
pop edi
inc eax
inc eax
add cl, al
inc eax
inc eax
add byte [edx + 0x41], dl
inc eax
add dh, ah
inc ecx
inc eax
add byte [edx], ah
inc ebx
inc eax
add byte [esi - 0x33ffbfbf], dl
int3