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

Disassembly:
sub esp, 0x12c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14c]
mov ebp, edx
mov eax, dword [edi]
mov dword [esp + 0x1c], ebp
mov ebx, ecx
cmp eax, dword [edi + 4]
jae 0x42548c
xor esi, esi
mov dword [esp + 0x34], 0xfffffc1b
mov dword [esp + 0x3c], 0x7fffffff
mov eax, dword [esp + 0x15c]
inc dword [edi]
cmp eax, dword [edi + 8]
jae 0x42620f
test byte [esp + 0x158], 2
mov eax, dword [esp + 0x150]
mov dword [esp + 0x38], eax
je 0x4230f5
mov ecx, dword [esp + 0x154]
lea eax, [esp + 0x58]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x140]
mov al, byte [ebp]
movzx edx, al
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], esi
mov byte [esp + 0x33], al
mov dword [esp + 0x14], edx
cmp edx, 0x76
ja case.0x423122.15
movzx eax, byte [edx + 0x426342]
jmp dword [eax*4 + 0x426216]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
cmp byte [ebp + 3], 0x53
mov dword [esp + 0x2c], ecx
jne 0x4231ff
mov eax, dword [0x44072c]
mov dword [esp + 0x10], eax
test eax, eax
je 0x4231f8
mov ecx, dword [edi + 0x68]
xor eax, eax
inc eax
mov dword [esp + 0x60], eax
movzx eax, byte [ebp + 4]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x6c]
sub eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x140]
sub eax, ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], ecx
mov eax, ebx
sub eax, ecx
movzx ecx, byte [ebp + 5]
mov dword [esp + 0x78], eax
movzx eax, byte [ebp + 6]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 8]
mov dword [esp + 0x88], ecx
movzx ecx, byte [ebp + 7]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x84]
mov dword [esp + 0x80], eax
mov eax, dword [edi + 0x98]
mov dword [esp + 0x8c], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x84], eax
call dword [esp + 0x10]
test eax, eax
jg case.0x423122.115
js 0x425491
add ebp, 6
mov dword [esp + 0x1c], ebp
lea edx, [ebp + 3]
movzx ecx, byte [edx]
cmp ecx, 0x66
je 0x4233ed
cmp ecx, 0x67
je 0x4233ed
cmp ecx, 0x64
je 0x42328f
cmp ecx, 0x65
je 0x42328f
cmp ecx, 0x68
jne 0x42323a
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
jmp 0x423565
mov eax, dword [esp + 0x15c]
inc eax
push eax
xor eax, eax
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4252e4
test eax, eax
je 0x423286
cmp eax, 0xfffffc1e
jne 0x425491
add ebp, dword [esp + 0x2c]
jmp 0x423565
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
add edx, edx
cmp edx, dword [esp + 0x148]
jge 0x4232b3
mov eax, dword [edi + 0xc]
cmp dword [eax + edx*4], esi
jge 0x42354e
mov dword [esp + 0x10], esi
cmp ecx, 0x65
jne 0x42353f
mov eax, dword [edi + 0x28]
sar edx, 1
cmp dword [edi + 0x20], 0
mov ecx, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
jle 0x423308
mov esi, eax
mov ebp, ecx
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
or ecx, eax
cmp ecx, edx
je 0x4232f2
add esi, dword [edi + 0x24]
inc ebp
cmp ebp, dword [edi + 0x20]
jl 0x4232d9
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x28]
xor esi, esi
cmp ecx, dword [edi + 0x20]
jge 0x42353f
mov edx, eax
cmp eax, dword [edi + 0x28]
jbe 0x423375
lea ecx, [eax + 2]
mov dword [esp + 0x18], ecx
sub edx, dword [edi + 0x24]
mov dword [esp + 0x2c], edx
lea eax, [edx + 2]
push eax
push ecx
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x42336d
mov edx, dword [esp + 0x2c]
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x42335e
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], esi
jge 0x42354e
mov dword [esp + 0x10], esi
cmp edx, dword [edi + 0x28]
jbe 0x42336d
mov ecx, dword [esp + 0x18]
jmp 0x42331f
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x24], ecx
cmp ecx, dword [edi + 0x20]
jge 0x42353f
lea ecx, [eax + 2]
mov dword [esp + 0x2c], ecx
add eax, dword [edi + 0x24]
mov dword [esp + 0x28], eax
add eax, 2
push eax
push ecx
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x42353f
mov eax, dword [esp + 0x28]
movzx ecx, byte [eax]
movzx eax, byte [eax + 1]
shl ecx, 8
or ecx, eax
add ecx, ecx
cmp ecx, dword [esp + 0x148]
jge 0x4233cd
mov eax, dword [edi + 0xc]
cmp dword [eax + ecx*4], esi
jge 0x42354e
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
cmp eax, dword [edi + 0x20]
jge 0x42353f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
jmp 0x42338a
mov eax, dword [edi + 0x94]
test eax, eax
je 0x423226
movzx edx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
shl edx, 8
or edx, eax
mov dword [esp + 0x2c], edx
cmp edx, 0xffff
je 0x42354e
mov eax, dword [edi + 0x94]
cmp edx, dword [eax + 4]
je 0x42354e
mov dword [esp + 0x10], esi
cmp ecx, 0x67
jne 0x42353f
cmp dword [edi + 0x20], 0
mov edx, dword [edi + 0x28]
mov eax, esi
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], eax
jle 0x423478
mov esi, dword [esp + 0x2c]
mov ebp, eax
movzx ecx, byte [edx]
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
cmp ecx, esi
je 0x423466
add edx, dword [edi + 0x24]
inc ebp
cmp ebp, dword [edi + 0x20]
jl 0x42344d
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], edx
xor esi, esi
cmp eax, dword [edi + 0x20]
jge 0x42353f
mov ecx, edx
cmp edx, dword [edi + 0x28]
jbe 0x4234e0
add edx, 2
mov dword [esp + 0x18], edx
sub ecx, dword [edi + 0x24]
mov dword [esp + 0x2c], ecx
lea eax, [ecx + 2]
push eax
push edx
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x4234d8
mov ecx, dword [esp + 0x2c]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
or edx, eax
mov eax, dword [edi + 0x94]
sub edx, dword [eax + 4]
neg edx
sbb edx, edx
inc edx
mov dword [esp + 0x10], edx
jne 0x423555
mov edx, dword [esp + 0x18]
cmp ecx, dword [edi + 0x28]
ja 0x42348f
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [edi + 0x20]
jge 0x42353f
lea ecx, [edx + 2]
mov dword [esp + 0x2c], ecx
add edx, dword [edi + 0x24]
mov dword [esp + 0x28], edx
lea eax, [edx + 2]
push eax
push ecx
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x42353f
mov edx, dword [esp + 0x28]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
or ecx, eax
mov eax, dword [edi + 0x94]
sub ecx, dword [eax + 4]
neg ecx
sbb ecx, ecx
inc ecx
mov dword [esp + 0x10], ecx
jne 0x423555
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [edi + 0x20]
jl 0x4234f1
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
jmp 0x423558
xor eax, eax
inc eax
mov dword [esp + 0x10], eax
push 3
pop ecx
add ebp, ecx
cmp dword [esp + 0x10], 0
jne 0x425306
cmp byte [ebp], 0x54
je 0x425306
jmp 0x4237a7
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov dword [edi + 0x84], edx
lea eax, [edx + edx]
mov dword [esp + 0x14], eax
cmp eax, dword [edi + 0x14]
jl 0x42359e
xor eax, eax
inc eax
mov dword [edi + 0x38], eax
jmp 0x4237a7
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, edx
mov edx, dword [esp + 0x14]
mov eax, dword [ecx + eax*4]
mov dword [ecx + edx*4], eax
mov eax, dword [edi + 0xc]
mov ecx, ebx
sub ecx, dword [edi + 0x68]
mov dword [eax + edx*4 + 4], ecx
cmp dword [esp + 0x148], edx
jg 0x4237a7
lea eax, [edx + 2]
jmp 0x4236ed
mov ebp, dword [edi + 0x94]
test ebp, ebp
je 0x4254da
cmp dword [ebp + 4], esi
jne 0x4254da
mov eax, dword [ebp]
mov dword [edi + 0x94], eax
mov eax, dword [ebp + 0x10]
shl eax, 2
push eax
push dword [ebp + 0xc]
push dword [edi + 0xc]
call dword [sym.imp.msvcrt.dll_memmove]
mov eax, dword [ebp + 0x14]
mov ebp, dword [ebp + 8]
mov dword [esp + 0x154], eax
mov eax, dword [esp + 0x44]
add esp, 0xc
mov dword [esp + 0x150], eax
jmp 0x4237aa
movzx eax, byte [ebp + 1]
mov dword [esp + 0x150], eax
push 2
pop eax
add ebp, eax
mov dword [esp + 0x1c], ebp
jmp 0x4230fc
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x14], eax
push eax
push esi
push esi
push dword [esp + 0x15c]
lea edx, [ebp + 3]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x4236ac
cmp eax, 0xfffffc19
je 0x4236ac
test eax, eax
je 0x42368a
cmp eax, 0xfffffc1e
jne 0x425491
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
jne 0x4236b8
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x14]
jmp 0x423649
mov eax, dword [edi + 0x70]
mov dword [esp + 0x140], eax
jmp 0x4236bb
xor ecx, ecx
inc ecx
cmp byte [ebp], 0x55
je 0x425cb2
test byte [esp + 0x158], cl
jne 0x42552f
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x4236d2
mov eax, dword [edi + 0x80]
mov dword [esp + 0x148], eax
jmp 0x4237a7
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x14], eax
push eax
push esi
push esi
push dword [esp + 0x15c]
lea edx, [ebp + 3]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
xor edx, edx
inc edx
cmp eax, edx
je 0x425cb2
cmp eax, 0xfffffc19
je 0x425cb2
cmp eax, 0xfffffc1c
je 0x423785
cmp eax, 0xfffffc1b
je 0x423785
cmp eax, 0xfffffc1a
je 0x423785
test eax, eax
je 0x423763
cmp eax, 0xfffffc1e
jne 0x425491
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
jne 0x42379a
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x14]
jmp 0x423705
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x423785
test byte [esp + 0x158], dl
jne 0x425c7c
add ebp, 3
mov dword [esp + 0x1c], ebp
jmp 0x4230f5
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
sub ebx, ecx
cmp ebx, dword [edi + 0x68]
jb 0x425cb2
cmp ebx, dword [edi + 0x78]
jae 0x4237a7
mov dword [edi + 0x78], ebx
jmp 0x4237a7
mov eax, dword [0x44072c]
mov dword [esp + 0x10], eax
test eax, eax
je 0x4238a4
mov ecx, dword [edi + 0x68]
xor eax, eax
inc eax
mov dword [esp + 0x90], eax
movzx eax, byte [ebp + 1]
mov dword [esp + 0x94], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x6c]
sub eax, ecx
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x140]
sub eax, ecx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ecx
mov eax, ebx
sub eax, ecx
movzx ecx, byte [ebp + 2]
mov dword [esp + 0xa8], eax
movzx eax, byte [ebp + 3]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + 5]
mov dword [esp + 0xb8], ecx
movzx ecx, byte [ebp + 4]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x148]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0x84]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x98]
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x90]
mov dword [esp + 0xb4], eax
call dword [esp + 0x10]
test eax, eax
jg case.0x423122.115
js 0x425491
add ebp, 6
jmp 0x4237aa
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x2c], eax
push eax
push esi
push dword [esp + 0x15c]
lea edx, [ebp + 3]
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
xor ecx, ecx
inc ecx
cmp eax, ecx
je 0x423922
test eax, eax
je 0x423900
cmp eax, 0xfffffc1e
jne 0x425491
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
jne 0x42392e
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x2c]
jmp 0x4238c0
mov edx, dword [edi + 0x70]
mov dword [esp + 0x140], edx
jmp 0x423935
mov edx, dword [esp + 0x140]
mov al, byte [ebp]
cmp al, 0x5d
je 0x423944
cmp al, 0x54
jne 0x425cbf
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x423944
cmp byte [ebp], 0x55
mov eax, dword [edi + 0x80]
mov ebx, dword [edi + 0x74]
mov dword [esp + 0x148], eax
je 0x4237a7
cmp ebx, dword [esp + 0x10]
je 0x4237a7
lea ecx, [ebp + 3]
mov dword [esp + 0x2c], ecx
cmp byte [ecx], 0x19
jne 0x42399c
movzx eax, byte [ebp + 4]
and dword [esp + 0x150], 0xfffffff8
or dword [esp + 0x150], eax
mov eax, dword [esp + 0x15c]
inc eax
cmp byte [ebp], 0x57
push eax
jne 0x425324
push esi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edx
mov edx, ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x158], esi
jmp 0x42547d
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je case.0x423122.84
jmp 0x4237aa
mov eax, dword [esp + 0x15c]
inc ebp
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x423a43
jmp 0x4237a7
inc ebp
mov dword [esp + 0x1c], ebp
mov edx, ebp
movzx ecx, byte [edx + 1]
movzx eax, byte [edx + 2]
shl ecx, 8
or ecx, eax
add edx, ecx
cmp byte [edx], 0x54
je 0x423a64
mov eax, dword [esp + 0x15c]
inc eax
push eax
push esi
push dword [esp + 0x15c]
add edx, 3
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
jmp 0x4230f5
inc ebp
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x423abe
jmp 0x4237a7
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov edx, ebp
sub edx, ecx
mov dword [esp + 0x10], edx
mov al, byte [edx]
cmp al, 0x61
jb 0x423b13
mov ecx, dword [esp + 0x154]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x154]
mov ecx, dword [ecx]
mov dword [esp + 0x154], ecx
jmp 0x423b17
mov dword [esp + 0x24], esi
cmp al, 0x58
je 0x425554
cmp al, 0x59
je 0x425554
cmp al, 0x5a
je 0x425554
cmp al, 0x5b
je 0x425554
cmp al, 0x5d
je 0x425554
cmp al, 0x5f
je 0x423b4b
cmp al, 0x62
jne 0x423c02
movzx edx, byte [edx + 3]
mov eax, dword [esp + 0x10]
shl edx, 8
movzx eax, byte [eax + 4]
or edx, eax
mov dword [edi + 0x84], edx
lea eax, [edx + edx]
cmp eax, dword [edi + 0x14]
jl 0x423b72
xor eax, eax
inc eax
mov dword [edi + 0x38], eax
jmp 0x423ba8
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
sub eax, edx
lea esi, [edx + edx]
mov eax, dword [ecx + eax*4]
mov dword [ecx + esi*4], eax
mov eax, dword [edi + 0xc]
mov ecx, ebx
sub ecx, dword [edi + 0x68]
push 0
mov dword [eax + esi*4 + 4], ecx
lea eax, [edx + edx]
pop esi
cmp dword [esp + 0x148], eax
jg 0x423ba8
add eax, 2
mov dword [esp + 0x148], eax
mov ecx, dword [edi + 0x94]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x423bfe
cmp dword [ecx + 4], edx
jne 0x423bfe
mov eax, dword [ecx]
mov dword [edi + 0x94], eax
mov eax, dword [ecx + 0x10]
shl eax, 2
push eax
push dword [ecx + 0xc]
push dword [edi + 0xc]
call dword [sym.imp.msvcrt.dll_memcpy]
mov ebp, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [ebp + 0x14]
mov ebp, dword [ebp + 8]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x150], eax
jmp 0x4230f5
mov edx, dword [esp + 0x10]
cmp byte [ebp], 0x55
mov eax, dword [esp + 0x38]
mov dword [esp + 0x150], eax
je 0x4237a7
cmp ebx, dword [esp + 0x24]
je 0x4237a7
cmp byte [edx], 0x61
push 2
sbb ecx, ecx
and ecx, 0xfffffffe
pop eax
add ecx, eax
mov eax, dword [esp + 0x15c]
inc eax
cmp byte [ebp], 0x57
mov dword [esp + 0x158], ecx
push eax
jne 0x425362
push esi
push dword [esp + 0x15c]
lea edx, [ebp + 3]
push dword [esp + 0x44]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
mov edx, dword [esp + 0x158]
test edx, edx
jne 0x425536
mov ebp, dword [esp + 0x10]
jmp 0x42547d
cmp dword [edi + 0x3c], esi
je 0x423ca2
cmp ebx, dword [edi + 0x68]
je 0x425cb2
test byte [esp + 0x150], 2
je case.0x423122.1
mov ecx, dword [edi + 0x68]
cmp ebx, ecx
je 0x423d12
cmp ebx, dword [edi + 0x6c]
je 0x425cb2
mov edx, dword [edi + 0x18]
test edx, edx
je 0x423ce2
cmp ebx, ecx
jbe 0x425cb2
push esi
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00414de4
test eax, eax
je 0x425cb2
jmp 0x423d12
mov edx, dword [edi + 0x1c]
lea eax, [ecx + edx]
cmp ebx, eax
jb 0x425cb2
mov ecx, ebx
sub ecx, edx
mov al, byte [ecx]
cmp al, byte [edi + 0x2c]
jne 0x425cb2
xor eax, eax
inc eax
cmp edx, eax
je 0x423d12
mov al, byte [ecx + 1]
cmp al, byte [edi + 0x2d]
jne 0x425cb2
inc ebp
jmp 0x4237aa
cmp ebx, dword [edi + 0x68]
jne 0x425cb2
inc ebp
jmp 0x423634
mov eax, dword [edi + 0x88]
add eax, dword [edi + 0x68]
cmp ebx, eax
jmp 0x423d1b
mov ecx, ebx
mov dword [esp + 0x140], ecx
jmp 0x423d21
test byte [esp + 0x150], 2
je 0x423d97
mov ecx, dword [edi + 0x6c]
cmp ebx, ecx
jae 0x423d8f
mov edx, dword [edi + 0x18]
test edx, edx
je 0x423d69
push esi
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00414d4a
jmp 0x423cd8
sub ecx, dword [edi + 0x1c]
cmp ebx, ecx
ja 0x425cb2
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne 0x425cb2
xor eax, eax
inc eax
cmp dword [edi + 0x1c], eax
je 0x423d12
mov al, byte [ebx + 1]
jmp 0x423d09
cmp dword [edi + 0x40], esi
jmp 0x423d0c
cmp dword [edi + 0x40], esi
jne 0x425cb2
cmp dword [edi + 0x50], esi
jne case.0x423122.24
mov eax, dword [edi + 0x6c]
cmp ebx, eax
je 0x423d12
mov edx, dword [edi + 0x18]
test edx, edx
je 0x423dd9
cmp ebx, eax
jae 0x425cb2
push esi
lea ecx, [edi + 0x1c]
push ecx
push eax
mov ecx, ebx
call fcn.00414d4a
test eax, eax
je 0x425cb2
lea ecx, [edi + 0x1c]
jmp 0x423e04
lea ecx, [edi + 0x1c]
sub eax, dword [ecx]
cmp ebx, eax
ja 0x425cb2
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne 0x425cb2
xor eax, eax
inc eax
cmp dword [ecx], eax
je 0x423e04
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
jne 0x425cb2
mov eax, dword [edi + 0x6c]
sub eax, dword [ecx]
cmp ebx, eax
jmp 0x423d0c
cmp ebx, dword [edi + 0x6c]
jb 0x425cb2
jmp 0x423d21
mov eax, dword [edi + 0x6c]
cmp ebx, eax
je 0x423d12
mov edx, dword [edi + 0x18]
test edx, edx
je 0x423e52
cmp ebx, eax
jae case.0x423122.115
push esi
lea ecx, [edi + 0x1c]
push ecx
push eax
mov ecx, ebx
call fcn.00414d4a
test eax, eax
je case.0x423122.115
lea ecx, [edi + 0x1c]
jmp 0x423e7d
lea ecx, [edi + 0x1c]
sub eax, dword [ecx]
cmp ebx, eax
ja case.0x423122.115
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne case.0x423122.115
xor eax, eax
inc eax
cmp dword [ecx], eax
je 0x423e7d
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
jne case.0x423122.115
mov eax, dword [edi + 0x6c]
sub eax, dword [ecx]
cmp ebx, eax
jne case.0x423122.115
jmp 0x423d12
cmp ebx, dword [edi + 0x68]
jne 0x423e9b
xor eax, eax
mov edx, esi
inc eax
jmp 0x423eb9
cmp ebx, dword [edi + 0x78]
ja 0x423ea6
lea eax, [ebx - 1]
mov dword [edi + 0x78], eax
movzx ecx, byte [ebx - 1]
mov eax, dword [edi + 0x34]
movzx edx, byte [ecx + eax]
xor eax, eax
shr edx, 4
inc eax
and edx, eax
cmp ebx, dword [edi + 0x6c]
jb 0x423edd
cmp dword [edi + 0x7c], 0
je 0x423ed9
cmp ebx, dword [esp + 0x140]
jbe 0x423ed9
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x423f6d
mov ecx, esi
jmp 0x423eef
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
movzx ecx, byte [eax + ecx]
xor eax, eax
shr ecx, 4
inc eax
and ecx, eax
mov al, byte [ebp]
inc ebp
mov dword [esp + 0x1c], ebp
cmp al, 5
jne 0x423f04
xor eax, eax
cmp ecx, edx
sete al
jmp 0x423f0b
xor eax, eax
cmp ecx, edx
setne al
test eax, eax
jne case.0x423122.115
jmp 0x4230f5
mov edx, dword [edi + 0x18]
test edx, edx
je 0x423f75
cmp ebx, dword [edi + 0x6c]
jae case.0x423122.13
push esi
lea eax, [edi + 0x1c]
push eax
push dword [edi + 0x6c]
mov ecx, ebx
call fcn.00414d4a
test eax, eax
jne case.0x423122.115
xor ecx, ecx
inc ecx
mov eax, ebx
inc ebx
cmp eax, dword [edi + 0x6c]
jb 0x423d12
cmp dword [edi + 0x7c], 0
je case.0x423122.115
cmp ebx, dword [esp + 0x140]
jbe case.0x423122.115
cmp dword [edi + 0x7c], ecx
mov dword [edi + 0x5c], ecx
jle case.0x423122.115
push 0xfffffffffffffff4
pop esi
jmp case.0x423122.115
mov eax, dword [edi + 0x6c]
sub eax, dword [edi + 0x1c]
cmp ebx, eax
ja case.0x423122.13
mov al, byte [ebx]
xor ecx, ecx
inc ecx
cmp al, byte [edi + 0x2c]
jne 0x423f3e
cmp dword [edi + 0x1c], ecx
je case.0x423122.115
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
je case.0x423122.115
jmp 0x423f3e
mov eax, ebx
inc ebx
cmp eax, dword [edi + 0x6c]
jb 0x423d21
cmp dword [edi + 0x7c], 0
je case.0x423122.115
cmp ebx, ecx
jbe case.0x423122.115
xor eax, eax
inc eax
cmp dword [edi + 0x7c], eax
mov dword [edi + 0x5c], eax
jmp 0x423f67
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
test byte [ecx + eax], 4
jmp 0x423e84
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
test byte [ecx + eax], 4
je case.0x423122.115
jmp 0x423d12
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
xor edx, edx
inc edx
inc ebx
test byte [ecx + eax], dl
jmp 0x423e84
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
xor edx, edx
inc edx
inc ebx
test byte [ecx + eax], dl
jmp 0x423fee
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
test byte [ecx + eax], 0x10
jmp 0x423e84
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
test byte [ecx + eax], 0x10
jmp 0x423fee
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x423d21
jbe case.0x423122.115
cmp eax, 0xc
jbe 0x424092
cmp eax, 0xd
je 0x4240a0
cmp eax, 0x85
je 0x424092
cmp eax, 0x2027
jbe case.0x423122.115
cmp eax, 0x2029
ja case.0x423122.115
cmp dword [edi + 0x60], esi
jne case.0x423122.115
jmp 0x423d21
cmp ebx, dword [edi + 0x6c]
jae 0x423d21
cmp byte [ebx], 0xa
jne 0x423d21
inc ebx
jmp 0x423d21
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
mov edx, 0x180e
inc ebx
cmp eax, edx
ja 0x424101
je case.0x423122.115
cmp eax, 9
je case.0x423122.115
cmp eax, 0x20
je case.0x423122.115
cmp eax, 0xa0
je case.0x423122.115
cmp eax, 0x1680
je case.0x423122.115
jmp 0x423d21
cmp eax, 0x2000
jb 0x423d21
cmp eax, 0x200a
jbe case.0x423122.115
cmp eax, 0x202f
je case.0x423122.115
cmp eax, 0x205f
je case.0x423122.115
cmp eax, 0x3000
jmp 0x4240f6
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
mov edx, 0x180e
inc ebx
cmp eax, edx
ja 0x424177
je 0x423d21
cmp eax, 9
je 0x423d21
cmp eax, 0x20
je 0x423d21
cmp eax, 0xa0
je 0x423d21
cmp eax, 0x1680
jmp 0x424095
cmp eax, 0x2000
jb case.0x423122.115
cmp eax, 0x200a
jbe 0x423d21
cmp eax, 0x202f
je 0x423d21
cmp eax, 0x205f
je 0x423d21
cmp eax, 0x3000
jmp 0x424095
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb 0x423d21
cmp eax, 0xd
jbe case.0x423122.115
cmp eax, 0x85
je case.0x423122.115
cmp eax, 0x2027
jbe 0x423d21
cmp eax, 0x2029
jbe case.0x423122.115
jmp 0x423d21
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jb case.0x423122.115
cmp eax, 0xd
jbe 0x423d21
cmp eax, 0x85
je 0x423d21
xor edx, edx
add eax, 0xffffdfd8
inc edx
cmp eax, edx
ja case.0x423122.115
jmp 0x423d21
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ecx, ecx
add ebp, 3
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebp
cmp ecx, dword [esp + 0x148]
jge 0x424266
mov edx, dword [edi + 0xc]
mov eax, dword [edx + ecx*4]
test eax, eax
js 0x424266
mov edx, dword [edx + ecx*4 + 4]
sub edx, eax
jmp 0x424279
cmp dword [edi + 0x48], esi
je 0x424273
mov edx, esi
mov dword [esp + 0x24], esi
jmp 0x42427d
mov edx, dword [edi + 0x6c]
sub edx, ebx
inc edx
mov dword [esp + 0x24], edx
mov al, byte [ebp]
mov byte [esp + 0x33], al
cmp al, 0x46
jb 0x42436f
cmp al, 0x4b
jbe 0x4242d4
cmp al, 0x4d
ja 0x42436f
movzx ecx, byte [ebp + 1]
xor eax, eax
cmp byte [esp + 0x33], 0x4d
sete al
shl ecx, 8
mov dword [esp + 0x14], eax
movzx eax, byte [ebp + 2]
or ecx, eax
movzx eax, byte [ebp + 3]
shl eax, 8
mov dword [esp + 0x10], eax
movzx eax, byte [ebp + 4]
or dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmove eax, dword [esp + 0x3c]
add ebp, 5
jmp 0x4242f9
movzx eax, byte [esp + 0x33]
inc ebp
lea ecx, [eax - 0x46]
and ecx, 1
mov dword [esp + 0x14], ecx
movsx ecx, byte [eax + 0x405e62]
movsx eax, byte [eax + 0x405e6a]
test eax, eax
cmove eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], ebp
test edx, edx
je 0x4230f5
xor eax, eax
inc eax
mov dword [esp + 0x20], eax
cmp ecx, eax
jl 0x42434b
push dword [esp + 0x150]
mov ecx, dword [esp + 0x1c]
push edi
push edx
mov edx, ebx
call fcn.0042301c
test eax, eax
je 0x4256a2
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
add ebx, edx
inc eax
mov dword [esp + 0x20], eax
cmp eax, ecx
jle 0x424318
mov eax, dword [esp + 0x10]
cmp ecx, eax
je 0x4230f5
cmp dword [esp + 0x14], 0
je 0x4255e8
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x4255b0
push dword [esp + 0x150]
push edi
push edx
mov edx, ebx
call fcn.0042301c
test eax, eax
je 0x4256a2
add ebx, dword [esp + 0x24]
jmp 0x4230f5
lea eax, [ebp + 1]
add ebp, 0x21
mov dword [esp + 0x18], eax
mov cl, byte [ebp]
mov al, cl
mov dword [esp + 0x1c], ebp
cmp al, 0x46
jb 0x42442e
cmp al, 0x4b
jbe 0x4243f5
cmp al, 0x4d
ja 0x42442e
movzx edx, byte [ebp + 3]
xor eax, eax
cmp cl, 0x4d
movzx ecx, byte [ebp + 1]
sete al
shl ecx, 8
shl edx, 8
mov dword [esp + 0x24], eax
movzx eax, byte [ebp + 2]
or ecx, eax
movzx eax, byte [ebp + 4]
or edx, eax
mov eax, 0x7fffffff
cmove edx, eax
mov dword [esp + 0x28], edx
add ebp, 5
xor edx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebp
inc edx
jmp 0x42443b
movzx eax, cl
xor edx, edx
lea ecx, [eax - 0x46]
inc edx
and ecx, edx
mov dword [esp + 0x24], ecx
movsx ecx, byte [eax + 0x405e62]
movsx eax, byte [eax + 0x405e6a]
inc ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x42443b
mov eax, 0x7fffffff
mov dword [esp + 0x28], eax
jmp 0x42443b
xor edx, edx
inc edx
mov dword [esp + 0x28], edx
mov ecx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x20], edx
cmp ecx, edx
jl 0x42447b
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [esp + 0x18]
shr edx, 3
inc ebx
test byte [edx + ecx], al
je case.0x423122.115
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
inc eax
mov dword [esp + 0x20], eax
cmp eax, ecx
jle 0x424443
mov eax, dword [esp + 0x28]
cmp ecx, eax
je 0x4230f5
cmp dword [esp + 0x24], 0
je 0x425742
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x42570a
mov eax, dword [edi + 0x6c]
xor edx, edx
sub eax, ebx
inc edx
cmp eax, edx
jl 0x4257f5
mov al, byte [ebx]
inc ebx
cmp byte [ebp + 1], al
jne case.0x423122.115
jmp 0x42362f
mov eax, dword [edi + 0x6c]
xor edx, edx
sub eax, ebx
inc edx
cmp eax, edx
jl 0x4257f5
movzx eax, byte [ebx]
mov edx, dword [edi + 0x30]
movzx ecx, byte [ebp + 1]
mov al, byte [eax + edx]
inc ebx
cmp byte [ecx + edx], al
jne case.0x423122.115
push 2
pop eax
add ebp, eax
jmp 0x4237aa
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov ecx, edx
add ebp, 3
jmp 0x424573
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
xor eax, eax
cmp byte [esp + 0x33], 0x26
mov ecx, esi
sete al
mov dword [esp + 0x24], eax
jmp 0x424500
xor eax, eax
inc eax
mov ecx, esi
mov edx, 0x7fffffff
mov dword [esp + 0x28], eax
inc ebp
jmp 0x424573
xor eax, eax
inc eax
mov ecx, eax
jmp 0x424530
xor eax, eax
inc eax
mov ecx, esi
mov edx, eax
jmp 0x424535
lea eax, [edx - 0x1f]
xor edx, edx
inc edx
mov ecx, eax
and ecx, edx
movsx edx, byte [eax + 0x405eb0]
mov dword [esp + 0x24], ecx
movsx ecx, byte [eax + 0x405ea8]
inc ebp
test edx, edx
mov eax, 0x7fffffff
cmove edx, eax
movzx eax, byte [ebp]
inc ebp
test byte [esp + 0x150], 1
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebp
je 0x4246ce
mov edx, dword [edi + 0x30]
mov dword [esp + 0x14], edx
movzx eax, byte [eax + edx]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], eax
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
cmp ecx, eax
jl 0x4245e7
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
mov edi, dword [esp + 0x14]
inc ebx
movzx eax, byte [eax + edi]
mov edi, dword [esp + 0x14c]
cmp dword [esp + 0x20], eax
jne case.0x423122.115
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jle 0x4245b4
cmp ecx, edx
je 0x4230f5
cmp dword [esp + 0x24], 0
jne 0x425812
mov eax, ebx
mov dword [esp + 0x24], eax
cmp ecx, edx
jge 0x4246c2
cmp ebx, dword [edi + 0x6c]
jae 0x42469d
movzx eax, byte [ebx]
mov edx, dword [edi + 0x30]
movzx eax, byte [eax + edx]
mov edx, dword [esp + 0x10]
cmp dword [esp + 0x20], eax
jne 0x42462b
inc ebx
inc ecx
cmp ecx, edx
jl 0x424608
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x28], 0
jne 0x4230fc
cmp ebx, eax
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
dec ebx
test eax, eax
jne 0x425491
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x34]
cmp ebx, dword [esp + 0x24]
jae 0x424655
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
mov ecx, dword [esp + 0x140]
je 0x424632
cmp ebx, ecx
jbe 0x424632
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x424632
jmp 0x423f6d
mov ecx, dword [esp + 0x140]
jmp 0x424636
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
cmp ecx, eax
jl 0x4246fd
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x20], eax
jne case.0x423122.115
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jle 0x4246d9
cmp ecx, edx
je 0x4230f5
cmp dword [esp + 0x24], 0
jne 0x42588d
mov eax, ebx
mov dword [esp + 0x10], eax
cmp ecx, edx
jge 0x4247cd
cmp ebx, dword [edi + 0x6c]
jae 0x4247a8
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
jne 0x424736
inc ebx
inc ecx
cmp ecx, edx
jl 0x42471e
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
jne 0x4230fc
cmp ebx, eax
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
dec ebx
test eax, eax
jne 0x425491
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x34]
cmp ebx, dword [esp + 0x10]
jae 0x424760
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
mov ecx, dword [esp + 0x140]
je 0x42473d
cmp ebx, ecx
jbe 0x42473d
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x42473d
jmp 0x423f6d
mov ecx, dword [esp + 0x140]
jmp 0x424741
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
xor edx, edx
inc edx
inc ebx
mov dword [esp + 0x14], eax
test byte [esp + 0x150], dl
je 0x424815
mov edx, dword [edi + 0x30]
movzx ecx, byte [ebp + 1]
mov al, byte [eax + edx]
add ebp, 2
mov dword [esp + 0x1c], ebp
cmp byte [ecx + edx], al
je case.0x423122.115
jmp 0x4230f5
movzx eax, byte [ebp + 1]
add ebp, 2
mov dword [esp + 0x1c], ebp
cmp eax, dword [esp + 0x14]
jne 0x4230fc
jmp case.0x423122.115
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
mov ecx, edx
add ebp, 3
jmp 0x4248c2
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
xor eax, eax
cmp byte [esp + 0x33], 0x33
mov ecx, esi
sete al
mov dword [esp + 0x24], eax
jmp 0x42483e
xor eax, eax
inc eax
mov ecx, esi
mov edx, 0x7fffffff
mov dword [esp + 0x28], eax
inc ebp
jmp 0x4248c2
xor eax, eax
inc eax
mov ecx, eax
jmp 0x424867
xor eax, eax
inc eax
mov ecx, esi
mov edx, eax
jmp 0x42486c
movzx edx, byte [ebp + 1]
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
movzx eax, byte [ebp + 2]
shl edx, 8
mov ecx, esi
or edx, eax
jmp 0x42483e
lea eax, [edx - 0x2c]
xor edx, edx
inc edx
mov ecx, eax
and ecx, edx
movsx edx, byte [eax + 0x405eb0]
mov dword [esp + 0x24], ecx
movsx ecx, byte [eax + 0x405ea8]
inc ebp
test edx, edx
mov eax, 0x7fffffff
cmove edx, eax
movzx eax, byte [ebp]
inc ebp
test byte [esp + 0x150], 1
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ebp
je 0x424a21
mov edx, dword [edi + 0x30]
mov dword [esp + 0x14], edx
movzx eax, byte [eax + edx]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], eax
xor eax, eax
inc eax
mov dword [esp + 0x2c], eax
cmp ecx, eax
jl 0x424936
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
mov edi, dword [esp + 0x14]
inc ebx
movzx eax, byte [eax + edi]
mov edi, dword [esp + 0x14c]
cmp dword [esp + 0x20], eax
je case.0x423122.115
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
cmp eax, ecx
jle 0x424903
cmp ecx, edx
je 0x4230f5
cmp dword [esp + 0x24], 0
jne 0x425901
mov eax, ebx
mov dword [esp + 0x10], eax
cmp ecx, edx
jge 0x424a15
cmp ebx, dword [edi + 0x6c]
jae 0x4249f0
movzx eax, byte [ebx]
mov edi, dword [esp + 0x14]
movzx eax, byte [eax + edi]
mov edi, dword [esp + 0x14c]
cmp dword [esp + 0x20], eax
je 0x42497e
inc ebx
inc ecx
cmp ecx, edx
jl 0x424957
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
jne 0x4230fc
cmp ebx, eax
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x34]
dec ebx
cmp ebx, dword [esp + 0x10]
jae 0x4249a8
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
mov ecx, dword [esp + 0x140]
je 0x424985
cmp ebx, ecx
jbe 0x424985
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x424985
jmp 0x423f6d
mov ecx, dword [esp + 0x140]
jmp 0x424989
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp ecx, eax
jl 0x424a50
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x20], eax
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, ecx
jle 0x424a2c
cmp ecx, edx
je 0x4230f5
cmp dword [esp + 0x24], 0
jne 0x42597c
mov eax, ebx
mov dword [esp + 0x10], eax
cmp ecx, edx
jge 0x424b20
cmp ebx, dword [edi + 0x6c]
jae 0x424afb
movzx eax, byte [ebx]
cmp dword [esp + 0x20], eax
je 0x424a89
inc ebx
inc ecx
cmp ecx, edx
jl 0x424a71
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
jne 0x4230fc
cmp ebx, eax
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x34]
dec ebx
cmp ebx, dword [esp + 0x10]
jae 0x424ab3
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
mov ecx, dword [esp + 0x140]
je 0x424a90
cmp ebx, ecx
jbe 0x424a90
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jle 0x424a90
jmp 0x423f6d
mov ecx, dword [esp + 0x140]
jmp 0x424a94
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
xor eax, eax
mov dword [esp + 0x20], edx
inc eax
mov dword [esp + 0x24], eax
add ebp, 3
jmp 0x424bd4
movzx eax, byte [ebp + 1]
shl eax, 8
mov dword [esp + 0x20], eax
movzx eax, byte [ebp + 2]
or dword [esp + 0x20], eax
xor eax, eax
cmp byte [esp + 0x33], 0x40
mov edx, esi
sete al
jmp 0x424b40
xor eax, eax
inc eax
mov edx, esi
mov dword [esp + 0x28], eax
mov eax, 0x7fffffff
inc ebp
jmp 0x424bd0
xor eax, eax
inc eax
mov edx, eax
jmp 0x424b72
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
mov edx, esi
jmp 0x424b7b
xor eax, eax
inc eax
mov dword [esp + 0x28], eax
movzx eax, byte [ebp + 1]
shl eax, 8
mov dword [esp + 0x20], eax
movzx eax, byte [ebp + 2]
or dword [esp + 0x20], eax
mov edx, esi
jmp 0x424b44
lea eax, [edx - 0x39]
mov edx, eax
and edx, 1
mov dword [esp + 0x24], edx
movsx edx, byte [eax + 0x405ea8]
movsx eax, byte [eax + 0x405eb0]
inc ebp
test eax, eax
cmove eax, dword [esp + 0x3c]
mov dword [esp + 0x20], eax
movzx eax, byte [ebp]
inc ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ebp
test edx, edx
jle 0x424f70
add eax, 0xfffffffa
cmp eax, 0xf
ja case.0x425a84.15
jmp dword [eax*4 + 0x4263ba]
xor eax, eax
inc eax
cmp edx, eax
jl 0x424f6c
mov dword [esp + 0x14], eax
mov ecx, dword [edi + 0x6c]
cmp ebx, ecx
jae 0x4256c1
cmp dword [edi + 0x18], 0
je 0x424c3e
mov edx, dword [edi + 0x18]
push esi
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00414d4a
test eax, eax
jne case.0x423122.115
mov edx, dword [esp + 0x10]
jmp 0x424c64
sub ecx, dword [edi + 0x1c]
cmp ebx, ecx
ja 0x424c64
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne 0x424c64
xor eax, eax
inc eax
cmp dword [edi + 0x1c], eax
je case.0x423122.115
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
je case.0x423122.115
mov ecx, dword [esp + 0x14]
inc ebx
inc ecx
mov dword [esp + 0x14], ecx
cmp ecx, edx
jle 0x424c0f
jmp 0x424f6c
mov eax, dword [edi + 0x6c]
sub eax, edx
cmp ebx, eax
ja 0x423fac
add ebx, edx
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
je 0x424cd0
jle case.0x423122.115
cmp eax, 0xc
jle 0x424cc7
cmp eax, 0xd
je 0x424ce2
cmp eax, 0x85
jne case.0x423122.115
cmp dword [edi + 0x60], esi
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424c9a
jmp 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x424cd0
cmp byte [ebx], 0xa
jne 0x424cd0
inc ebx
jmp 0x424cd0
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je case.0x423122.115
cmp eax, 0x20
je case.0x423122.115
cmp eax, 0xa0
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424cfe
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 9
je 0x424d6b
cmp eax, 0x20
je 0x424d6b
cmp eax, 0xa0
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424d49
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl 0x424db2
cmp eax, 0xd
jle case.0x423122.115
cmp eax, 0x85
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424d8c
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x423fac
movzx eax, byte [ebx]
inc ebx
cmp eax, 0xa
jl case.0x423122.115
cmp eax, 0xd
jle 0x424df9
cmp eax, 0x85
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424dd3
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
mov al, byte [ecx + eax]
and al, 4
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424e1a
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
mov al, byte [ecx + eax]
and al, 4
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424e56
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
xor ecx, ecx
inc ecx
cmp ebx, dword [edi + 0x6c]
jae 0x423f4a
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
mov al, byte [ecx + eax]
xor ecx, ecx
inc ecx
inc ebx
and al, cl
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424e95
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
xor ecx, ecx
inc ecx
cmp ebx, dword [edi + 0x6c]
jae 0x423f4a
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
mov al, byte [ecx + eax]
xor ecx, ecx
inc ecx
inc ebx
and al, cl
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424ed7
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
mov al, byte [ecx + eax]
and al, 0x10
jne case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424f0f
jmp 0x424f6c
xor eax, eax
inc eax
mov dword [esp + 0x14], eax
cmp edx, eax
jl 0x424f6c
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
inc ebx
mov al, byte [ecx + eax]
and al, 0x10
je case.0x423122.115
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, edx
jle 0x424f44
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x140]
cmp edx, dword [esp + 0x20]
je 0x4230fc
cmp dword [esp + 0x24], 0
jne 0x4259f7
add eax, 0xfffffffa
mov dword [esp + 0x14], ebx
cmp eax, 0xf
ja case.0x425a84.15
jmp dword [eax*4 + 0x4263fa]
mov ecx, dword [edi + 0x6c]
cmp ebx, ecx
jae 0x425068
cmp dword [edi + 0x18], 0
je 0x424fce
mov edx, dword [edi + 0x18]
push esi
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00414d4a
test eax, eax
jne 0x424ff8
mov edx, dword [esp + 0x10]
jmp 0x424fec
sub ecx, dword [edi + 0x1c]
cmp ebx, ecx
ja 0x424fec
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne 0x424fec
xor eax, eax
inc eax
cmp dword [edi + 0x1c], eax
je 0x424ff8
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
je 0x424ff8
inc ebx
inc edx
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x20]
jl 0x424fa3
mov ecx, dword [esp + 0x140]
cmp dword [esp + 0x28], 0
jne 0x4230fc
cmp ebx, dword [esp + 0x14]
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
dec ebx
test eax, eax
jne 0x425491
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x34]
cmp ebx, dword [esp + 0x14]
jae 0x425020
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
mov ecx, dword [esp + 0x140]
je 0x424fff
cmp ebx, ecx
jbe 0x424fff
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x423f6d
jmp 0x424fff
mov ecx, dword [esp + 0x20]
mov eax, dword [edi + 0x6c]
sub ecx, edx
sub eax, ebx
cmp ecx, eax
jbe 0x4250a1
mov ebx, dword [edi + 0x6c]
jmp 0x425068
add ebx, ecx
jmp 0x424ff8
mov ecx, dword [esp + 0x20]
jmp 0x4250f1
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx eax, byte [ebx]
cmp eax, 0xd
jne 0x4250cc
inc ebx
cmp ebx, dword [edi + 0x6c]
jae 0x424ff8
cmp byte [ebx], 0xa
jne 0x4250f0
jmp 0x4250ef
cmp eax, 0xa
je 0x4250ef
cmp dword [edi + 0x60], esi
jne 0x424ff8
cmp eax, 0xb
je 0x4250ef
cmp eax, 0xc
je 0x4250ef
cmp eax, 0x85
jne 0x424ff8
inc ebx
inc edx
cmp edx, ecx
jl 0x4250ae
jmp 0x424ff8
mov ecx, dword [esp + 0x20]
jmp 0x42512b
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx eax, byte [ebx]
cmp eax, 9
je 0x424ff8
cmp eax, 0x20
je 0x424ff8
cmp eax, 0xa0
je 0x424ff8
inc ebx
inc edx
cmp edx, ecx
jl 0x425100
jmp 0x424ff8
mov ecx, dword [esp + 0x20]
jmp 0x42515d
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx eax, byte [ebx]
cmp eax, 9
je 0x42515b
cmp eax, 0x20
je 0x42515b
cmp eax, 0xa0
jne 0x424ff8
inc ebx
inc edx
cmp edx, ecx
jl 0x42513a
jmp 0x424ff8
mov ecx, dword [esp + 0x20]
jmp 0x4251a9
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x424ff8
cmp eax, 0xb
je 0x424ff8
cmp eax, 0xc
je 0x424ff8
cmp eax, 0xd
je 0x424ff8
cmp eax, 0x85
je 0x424ff8
inc ebx
inc edx
cmp edx, ecx
jl 0x42516c
jmp 0x424ff8
mov ecx, dword [esp + 0x20]
jmp 0x4251e5
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx eax, byte [ebx]
cmp eax, 0xa
je 0x4251e3
cmp eax, 0xb
je 0x4251e3
cmp eax, 0xc
je 0x4251e3
cmp eax, 0xd
je 0x4251e3
cmp eax, 0x85
jne 0x424ff8
inc ebx
inc edx
cmp edx, ecx
jl 0x4251b8
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jne 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x4251ee
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
je 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x425214
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 1
jne 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x42523a
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 1
je 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x425260
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x425068
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 0x10
jne 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x425286
jmp 0x424ff8
cmp ebx, dword [edi + 0x6c]
jae 0x4252ce
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 0x10
je 0x424ff8
inc ebx
inc edx
cmp edx, dword [esp + 0x20]
jl 0x4252ac
jmp 0x424ff8
cmp dword [edi + 0x7c], 0
je 0x424ff8
mov ecx, dword [esp + 0x140]
jmp 0x425075
movzx ecx, byte [ebp + 4]
movzx eax, byte [ebp + 5]
add ebp, 3
jmp 0x4252f9
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
je 0x4252f1
add ebp, 3
cmp dword [esp + 0x14], 0x63
mov dword [esp + 0x1c], ebp
je 0x42549e
mov dword [esp + 0x158], esi
jmp 0x425481
push 2
pop eax
push eax
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push edx
mov edx, dword [esp + 0x34]
call fcn.0042307e
test eax, eax
jne 0x425491
mov ebp, dword [esp + 0x2c]
jmp 0x4239e3
push ecx
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x44]
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
add ebp, 3
jmp 0x4239e3
movzx ecx, byte [ebp + 3]
movzx eax, byte [ebp + 4]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x2c], ecx
lea eax, [ecx + ecx]
cmp eax, dword [edi + 0x14]
jl 0x425bba
and dword [esp + 0x158], 0
movzx ecx, byte [ebp + 1]
cmp edx, 0x61
mov edx, dword [esp + 0x158]
push 2
pop eax
cmovge edx, eax
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x158], edx
cmp byte [ecx + ebp], 0x54
jne 0x425468
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x14], eax
push eax
movzx eax, byte [ebp]
push edx
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x42543b
cmp eax, 0xfffffc1e
jne 0x425491
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
mov edx, dword [esp + 0x158]
shl ecx, 8
or ecx, eax
add ebp, ecx
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
mov eax, dword [esp + 0x14]
cmp byte [ecx + ebp], 0x54
je 0x4253f6
test edx, edx
jne 0x425cc6
movzx eax, byte [ebp]
movzx eax, byte [eax + 0x407628]
add ebp, eax
mov dword [esp + 0x1c], ebp
mov eax, dword [edi]
cmp eax, dword [edi + 4]
jb 0x4230b4
inc dword [edi]
push 0xfffffffffffffff8
pop eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x12c
ret 0x20
mov eax, dword [esp + 0x15c]
inc eax
push eax
push 2
pop eax
push eax
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
push edi
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
jmp 0x425491
cmp ebx, ecx
jne 0x4254fd
cmp dword [edi + 0x54], esi
jne 0x425cb2
cmp dword [edi + 0x58], esi
je 0x4254fd
mov eax, dword [edi + 0x88]
add eax, dword [edi + 0x68]
cmp ecx, eax
je 0x425cb2
mov eax, dword [esp + 0x148]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x144]
mov dword [edi + 0x9c], eax
push 1
mov dword [edi + 0x70], ecx
test edx, edx
mov eax, 0xfffffc19
pop ecx
mov dword [edi + 0x74], ebx
cmove eax, ecx
jmp 0x425491
mov eax, ecx
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
push eax
push edx
push dword [esp + 0x15c]
mov edx, dword [esp + 0x1c]
push dword [esp + 0x44]
jmp 0x4254bb
mov eax, dword [esp + 0x148]
mov dword [edi + 0x80], eax
mov eax, dword [esp + 0x140]
mov dword [edi + 0x74], ebx
mov dword [edi + 0x70], eax
jmp 0x4261fe
mov eax, dword [esp + 0x10]
cmp dword [esp + 0x28], eax
jge case.0x423122.115
push dword [esp + 0x150]
mov ecx, dword [esp + 0x1c]
push edi
push dword [esp + 0x2c]
mov edx, ebx
call fcn.0042301c
test eax, eax
je 0x4256a2
add ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x15c]
inc dword [esp + 0x28]
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x425573
jmp 0x425491
mov dword [esp + 0x14], ebx
cmp ecx, eax
jge 0x42564c
push dword [esp + 0x150]
mov ecx, dword [esp + 0x1c]
push edi
push edx
mov edx, ebx
call fcn.0042301c
test eax, eax
je 0x42561f
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
add ebx, edx
inc eax
mov dword [esp + 0x28], eax
cmp eax, dword [esp + 0x10]
jl 0x4255f0
jmp 0x425642
cmp dword [edi + 0x7c], 0
je 0x425642
cmp ebx, dword [edi + 0x6c]
jb 0x425642
cmp ebx, dword [esp + 0x140]
jbe 0x425642
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x423f6d
cmp ebx, dword [esp + 0x14]
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
sub ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
cmp ebx, dword [esp + 0x14]
jae 0x425658
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
je case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jb case.0x423122.115
cmp ebx, dword [esp + 0x140]
jmp 0x423fb8
cmp dword [edi + 0x7c], 0
je case.0x423122.115
jmp 0x4256b5
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x10], eax
jge case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [esp + 0x18]
shr edx, 3
inc ebx
test byte [edx + ecx], al
je case.0x423122.115
mov eax, dword [esp + 0x15c]
inc dword [esp + 0x10]
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x4256cd
jmp 0x425491
mov dword [esp + 0x14], ebx
cmp ecx, eax
jge 0x4257a2
cmp ebx, dword [edi + 0x6c]
jae 0x42577a
movzx edx, byte [ebx]
xor eax, eax
mov ecx, edx
and ecx, 7
inc eax
shl eax, cl
mov ecx, dword [esp + 0x18]
shr edx, 3
test byte [edx + ecx], al
je 0x425798
mov eax, dword [esp + 0x10]
inc ebx
inc eax
mov dword [esp + 0x10], eax
cmp eax, dword [esp + 0x28]
jl 0x42574a
jmp 0x425798
cmp dword [edi + 0x7c], 0
je 0x425798
cmp ebx, dword [esp + 0x140]
jbe 0x425798
xor eax, eax
inc eax
mov dword [edi + 0x5c], eax
cmp dword [edi + 0x7c], eax
jg 0x423f6d
cmp ebx, dword [esp + 0x14]
jb case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
mov dword [esp + 0x34], eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
mov eax, dword [esp + 0x34]
dec ebx
cmp ebx, dword [esp + 0x14]
jae 0x4257ae
jmp case.0x423122.115
cmp dword [edi + 0x7c], 0
je case.0x423122.115
cmp ebx, ecx
jbe case.0x423122.115
cmp dword [edi + 0x7c], edx
mov dword [edi + 0x5c], edx
jmp 0x423f67
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x425855
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
jge case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x30]
inc ebx
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x20], eax
jne case.0x423122.115
mov eax, dword [esp + 0x15c]
inc edx
mov dword [esp + 0x18], edx
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x42581c
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x4258c9
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x10]
jge case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x20], eax
jne case.0x423122.115
mov eax, dword [esp + 0x15c]
inc ecx
mov dword [esp + 0x18], ecx
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x425897
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x425944
mov edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x18]
jge case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx ecx, byte [ebx]
mov eax, dword [edi + 0x30]
inc ebx
movzx eax, byte [ecx + eax]
cmp dword [esp + 0x20], eax
je case.0x423122.115
mov eax, dword [esp + 0x15c]
inc edx
mov dword [esp + 0x10], edx
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x42590b
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x4259b8
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jge case.0x423122.115
cmp ebx, dword [edi + 0x6c]
jae 0x4256c1
movzx eax, byte [ebx]
inc ebx
cmp dword [esp + 0x20], eax
je case.0x423122.115
mov eax, dword [esp + 0x15c]
inc ecx
mov dword [esp + 0x10], ecx
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x425986
jmp 0x425491
push 0xfffffffffffffff2
jmp 0x425490
mov eax, dword [esp + 0x15c]
inc eax
jmp 0x425b7e
mov edx, dword [esp + 0x10]
cmp edx, dword [esp + 0x20]
jge case.0x423122.115
mov ecx, dword [edi + 0x6c]
cmp ebx, ecx
jae 0x4256c1
mov eax, dword [esp + 0x18]
cmp eax, 0xc
jne 0x425a74
cmp dword [edi + 0x18], 0
je 0x425a4a
mov edx, dword [edi + 0x18]
push esi
lea eax, [edi + 0x1c]
push eax
push ecx
mov ecx, ebx
call fcn.00414d4a
test eax, eax
jne case.0x423122.115
mov edx, dword [esp + 0x10]
jmp 0x425a70
sub ecx, dword [edi + 0x1c]
cmp ebx, ecx
ja 0x425a74
mov al, byte [ebx]
cmp al, byte [edi + 0x2c]
jne 0x425a70
xor eax, eax
inc eax
cmp dword [edi + 0x1c], eax
je case.0x423122.115
mov al, byte [ebx + 1]
cmp al, byte [edi + 0x2d]
je case.0x423122.115
mov eax, dword [esp + 0x18]
movzx ecx, byte [ebx]
add eax, 0xfffffffa
inc ebx
cmp eax, 0xf
ja case.0x425a84.15
jmp dword [eax*4 + 0x42643a]
cmp ecx, 0xa
je case.0x425a84.12
jbe case.0x423122.115
cmp ecx, 0xc
jbe 0x425ab0
cmp ecx, 0xd
je 0x425abe
cmp ecx, 0x85
jne case.0x423122.115
cmp dword [edi + 0x60], esi
jne case.0x423122.115
jmp case.0x425a84.12
cmp ebx, dword [edi + 0x6c]
jae case.0x425a84.12
cmp byte [ebx], 0xa
jne case.0x425a84.12
inc ebx
jmp case.0x425a84.12
cmp ecx, 9
je case.0x423122.115
cmp ecx, 0x20
je case.0x423122.115
cmp ecx, 0xa0
jmp 0x425b6b
cmp ecx, 9
je case.0x425a84.12
cmp ecx, 0x20
je case.0x425a84.12
cmp ecx, 0xa0
jmp 0x425ab3
cmp ecx, 0xa
jb case.0x425a84.12
cmp ecx, 0xd
jbe case.0x423122.115
cmp ecx, 0x85
jmp 0x425b6b
cmp ecx, 0xa
jb case.0x423122.115
cmp ecx, 0xd
jbe case.0x425a84.12
cmp ecx, 0x85
jmp 0x425ab3
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jmp 0x425ab3
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 4
jmp 0x425b6b
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 1
jmp 0x425ab3
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 1
jmp 0x425b6b
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 0x10
jmp 0x425ab3
mov eax, dword [edi + 0x34]
test byte [ecx + eax], 0x10
je case.0x423122.115
mov eax, dword [esp + 0x15c]
inc edx
mov dword [esp + 0x10], edx
inc eax
push eax
push esi
push dword [esp + 0x15c]
mov edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
je 0x425a04
jmp 0x425491
mov edx, dword [edi + 0xc]
mov esi, dword [esp + 0x2c]
mov ecx, dword [edx + eax*4]
mov eax, dword [edx + eax*4 + 4]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edi + 0x10]
sub ecx, esi
mov dword [esp + 0x38], eax
mov eax, dword [edx + ecx*4]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x84]
mov dword [esp + 0x34], eax
mov eax, ebx
sub eax, dword [edi + 0x68]
push 2
mov dword [edx + ecx*4], eax
mov ecx, dword [esp + 0x160]
xor eax, eax
cmp dword [esp + 0x18], 0x62
pop edx
cmove eax, edx
inc ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ecx
push ecx
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push edi
push dword [esp + 0x15c]
add edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x15c]
call fcn.0042307e
mov edx, eax
test edx, edx
je 0x425c53
cmp edx, 0xfffffc1e
jne 0x425c7c
mov eax, dword [esp + 0x34]
mov dword [edi + 0x84], eax
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
cmp byte [ebp], 0x54
jne 0x425c83
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
jmp 0x425c0b
mov eax, edx
jmp 0x425491
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x3c]
lea ecx, [esi + esi]
mov dword [eax + ecx*4], ebx
mov eax, dword [edi + 0xc]
mov ebx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 4], ebx
mov ecx, dword [edi + 0x10]
mov eax, dword [edi + 0xc]
sub ecx, esi
mov esi, dword [esp + 0x10]
mov dword [eax + ecx*4], esi
cmp edx, 0xfffffc1e
je 0x425cbf
mov eax, dword [esp + 0x144]
mov dword [edi + 0x9c], eax
xor eax, eax
jmp 0x425491
mov eax, dword [esp + 0x15c]
mov esi, dword [esp + 0x144]
inc eax
push eax
movzx eax, byte [ebp]
push edx
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
mov ecx, ebx
push esi
push dword [esp + 0x15c]
call fcn.0042307e
test eax, eax
jne 0x425491
mov dword [edi + 0x9c], esi
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx eax, byte [eax + 0x407628]
push dword [esp + 0x15c]
lea edx, [ebp + 2]
push edi
push dword [esp + 0x15c]
mov dword [esp + 0x2c], edx
push edx
movzx edx, byte [ebp + 1]
add eax, ebp
push ecx
add edx, eax
mov ecx, ebx
call fcn.0042307e
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x34], eax
cmp eax, 0xfffffc1d
jne 0x425d95
push dword [edi + 0x70]
push ebp
call dword [sym.imp.msvcrt.dll_strcmp]
pop ecx
pop ecx
test eax, eax
jne 0x425d91
mov dword [edi + 0x70], ebx
mov eax, 0xfffffc1c
jmp 0x425491
mov eax, dword [esp + 0x34]
cmp dword [edi + 0x9c], esi
jne 0x425491
mov dword [edi + 0x9c], ebp
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov esi, 0xfffffc1a
jmp case.0x423122.115
mov eax, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov esi, 0xfffffc1b
jmp case.0x423122.115
mov eax, dword [esp + 0x15c]
movzx edx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx eax, byte [eax + 0x407628]
push dword [esp + 0x15c]
add eax, ebp
push edi
push dword [esp + 0x15c]
add edx, eax
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
je 0x42601b
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov dword [edi + 0x70], ebx
mov esi, 0xfffffc1c
jmp case.0x423122.115
mov eax, dword [esp + 0x15c]
movzx edx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx eax, byte [eax + 0x407628]
push dword [esp + 0x15c]
add eax, ebp
push edi
push dword [esp + 0x15c]
add edx, eax
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
lea eax, [ebp + 2]
mov dword [edi + 0x70], eax
mov eax, 0xfffffc1d
jmp 0x425491
mov eax, dword [esp + 0x15c]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push dword [esp + 0x15c]
add edx, ebp
push edi
push dword [esp + 0x15c]
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov esi, 0xfffffc1e
mov eax, dword [esp + 0x144]
mov dword [edi + 0x9c], eax
mov eax, esi
jmp 0x425491
mov eax, dword [esp + 0x15c]
movzx edx, byte [ebp + 1]
inc eax
push eax
push dword [esp + 0x15c]
movzx eax, byte [ebp]
push dword [esp + 0x15c]
movzx eax, byte [eax + 0x407628]
push dword [esp + 0x15c]
add eax, ebp
push edi
push dword [esp + 0x15c]
add edx, eax
push dword [esp + 0x15c]
push ecx
mov ecx, ebx
call fcn.0042307e
test eax, eax
jne 0x425491
mov dword [esp + 0x34], 0xfffffc1e
lea eax, [ebp + 2]
mov dword [edi + 0x9c], eax
mov eax, dword [esp + 0x34]
jmp 0x425491
movzx edx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl edx, 8
or edx, eax
add edx, dword [edi + 0x64]
mov dword [esp + 0x34], edx
cmp edx, dword [edi + 0x64]
jne 0x42604c
mov dword [esp + 0x44], esi
jmp 0x42605d
movzx ecx, byte [edx + 3]
movzx eax, byte [edx + 4]
shl ecx, 8
or ecx, eax
mov dword [esp + 0x44], ecx
mov eax, dword [edi + 0x94]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x40]
mov dword [edi + 0x94], eax
lea eax, [ebp + 3]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x10]
mov dword [esp + 0x50], eax
cmp eax, 0x1e
jg 0x426091
lea ecx, [esp + 0xc0]
mov dword [esp + 0x4c], ecx
jmp 0x4260b1
mov ecx, eax
shl ecx, 2
call dword [0x440354]
mov ecx, eax
mov dword [esp + 0x4c], ecx
test ecx, ecx
jne 0x4260ad
push 0xfffffffffffffffa
jmp 0x425490
mov eax, dword [esp + 0x50]
shl eax, 2
push eax
push dword [edi + 0xc]
push ecx
call dword [sym.imp.msvcrt.dll_memcpy]
mov eax, dword [esp + 0x154]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x60], eax
mov cl, byte [ebp]
add esp, 0xc
cmp cl, 0x61
sbb eax, eax
push 2
and eax, 0xfffffffe
pop edx
add eax, edx
mov edx, dword [esp + 0x15c]
inc edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x14], edx
push edx
push eax
push dword [esp + 0x15c]
movzx eax, cl
push dword [esp + 0x15c]
movzx edx, byte [eax + 0x407628]
push edi
push dword [esp + 0x15c]
add edx, ebp
push dword [esp + 0x15c]
mov ecx, ebx
push dword [esp + 0x15c]
call fcn.0042307e
xor ecx, ecx
inc ecx
mov dword [esp + 0x2c], eax
cmp eax, ecx
je 0x4261df
cmp eax, 0xfffffc19
je 0x4261df
test eax, eax
je 0x42614f
cmp eax, 0xfffffc1e
jne 0x426195
lea eax, [esp + 0x40]
mov dword [edi + 0x94], eax
mov eax, dword [esp + 0x50]
shl eax, 2
push eax
push dword [esp + 0x50]
push dword [edi + 0xc]
call dword [sym.imp.msvcrt.dll_memcpy]
movzx ecx, byte [ebp + 1]
movzx eax, byte [ebp + 2]
shl ecx, 8
or ecx, eax
add ebp, ecx
add esp, 0xc
mov cl, byte [ebp]
cmp cl, 0x54
jne 0x4261b7
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
jmp 0x4260f1
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0xc0]
cmp ecx, edx
je 0x425491
call dword [0x440350]
mov eax, dword [esp + 0x2c]
jmp 0x425491
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0x94], eax
lea eax, [esp + 0xc0]
cmp ecx, eax
je case.0x423122.115
call dword [0x440350]
jmp case.0x423122.115
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
mov dword [edi + 0x94], eax
lea eax, [esp + 0xc0]
cmp ecx, eax
je 0x4261fe
call dword [0x440350]
xor eax, eax
lea esi, [eax + 1]
jmp case.0x423122.115
push 0xfffffffffffffffb
jmp 0x425490
push 0xffffffffffffffeb
jmp 0x425490