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

Disassembly:
sub esp, 0x31c
mov eax, dword [0x4921c0]
xor eax, esp
mov dword [esp + 0x314], eax
mov eax, dword [esp + 0x320]
push ebx
push ebp
mov dword [esp + 0x38], eax
push esi
mov esi, edx
mov eax, ecx
cdq
and edx, 0xffff
add eax, edx
mov ebx, eax
sar ebx, 0x10
and ecx, 0x8000ffff
push edi
mov dword [esp + 0x3c], esi
mov dword [esp + 0x80], ebx
jns 0x426720
dec ecx
or ecx, 0xffff0000
inc ecx
mov eax, ecx
cdq
and edx, 0xff
add eax, edx
sar eax, 8
and ecx, 0x800000ff
mov dword [esp + 0x58], eax
jns 0x426742
dec ecx
or ecx, 0xffffff00
inc ecx
cmp dword [esp + 0x334], 0
mov dword [esp + 0x78], ecx
je 0x4267a6
mov eax, dword [esi + 0x264]
cdq
idiv dword [esi + 0x284]
cmp dword [esi + 0x278], 1
mov ebp, dword [esi + 0x268]
mov ebx, eax
jne 0x426775
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
push 0xffffff
mov byte [esi], 0
call dword [0x47805c]
mov edx, dword [esi + 0x218]
mov edi, eax
push edi
lea ecx, [esp + 0x6c]
xor eax, eax
push ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ebx
push edx
jmp 0x426813
mov eax, dword [esi + 0x268]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x264]
cdq
idiv dword [esi + 0x284]
cmp dword [esi + 0x278], 1
mov ebp, eax
jne 0x4267cf
cdq
sub eax, edx
sar eax, 1
mov ebp, eax
movzx edx, byte [esp + 0x58]
movzx ecx, cl
shl ecx, 8
or ecx, edx
movzx eax, bl
shl ecx, 8
or ecx, eax
push ecx
mov byte [esi], 0
call dword [0x47805c]
mov ecx, dword [esp + 0x24]
mov edi, eax
xor eax, eax
push edi
lea edx, [esp + 0x6c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
mov eax, dword [esi + 0x218]
push edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ebp
push eax
call dword [0x4782c0]
push edi
call dword [0x47806c]
cmp dword [0x58cb68], 0
jne 0x426832
cmp dword [0x58cb6c], 0
je 0x42686c
mov eax, dword [0x5490d4]
cmp eax, 0xffffffff
jne 0x42685c
mov eax, dword [0x4eab8c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x7c], eax
mov eax, dword [0x4ea660]
cdq
sub eax, edx
mov ebx, eax
sar ebx, 1
mov dword [esp + 0x44], ebx
jmp 0x426870
mov ebx, dword [0x547cf0]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x44], ebx
jmp 0x426870
mov ebx, dword [esp + 0x44]
mov eax, dword [esp + 0x40]
mov ecx, eax
mov byte [esp + 0x13], 0
xor edi, edi
lea ebp, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x426880
sub ecx, ebp
je 0x4268b4
jmp 0x426890
cmp byte [eax + edi], 0x28
je 0x4268af
mov ecx, eax
inc edi
lea ebp, [ecx + 1]
lea esp, [esp]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4268a0
sub ecx, ebp
cmp edi, ecx
jb 0x426890
jmp 0x4268b4
mov byte [esp + 0x13], 1
cmp dword [0x58cb68], 0
je 0x4268c2
mov byte [esp + 0x13], 1
xor edi, edi
xor ebp, ebp
cmp dword [0x58ce2c], edi
je 0x426925
mov byte [esp + 0x220], 0x40
xor eax, eax
jmp 0x4268e0
mov cl, byte [eax + 0x5370c8]
mov byte [esp + eax + 0x221], cl
inc eax
test cl, cl
jne 0x4268e0
mov eax, dword [0x4ea870]
mov ecx, dword [0x4a86cc]
dec eax
imul eax, ecx
cmp byte [esp + 0x13], 0
mov ebp, 0xfffffc7c
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], edi
je 0x426979
mov edx, dword [0x4eab8c]
sub edx, ecx
add eax, edx
mov dword [esp + 0x20], eax
jmp 0x426979
xor ecx, ecx
jmp 0x426930
mov dl, byte [ecx + 0x5370c8]
mov byte [esp + ecx + 0x220], dl
inc ecx
test dl, dl
jne 0x426930
xor ecx, ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], ecx
cmp dword [0x58cb68], edi
je 0x426964
mov ecx, dword [0x4eab80]
sub ecx, dword [0x4ea660]
mov dword [esp + 0x14], ecx
cmp byte [esp + 0x13], 0
je 0x426979
cmp dword [0x58cb6c], edi
je 0x426979
add ecx, ebx
mov dword [esp + 0x14], ecx
mov eax, dword [0x494dc4]
cdq
idiv dword [0x494de4]
cmp dword [0x494dd8], 1
jne 0x426993
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [0x4eab8c]
mov edi, dword [0x478054]
lea ebx, [ebx + ebx*2]
cmp eax, ebx
mov eax, dword [0x4ea660]
jl 0x4269ba
lea ecx, [eax + eax*2]
cmp dword [0x494dc8], ecx
jge 0x426a6b
lea edx, [eax + eax*2]
mov eax, dword [0x494d78]
mov dword [esp + 0x24], edx
test eax, eax
je 0x426a10
push eax
call dword [0x478064]
cmp dword [0x494db4], 0
je 0x4269ff
mov eax, dword [0x494dc0]
push eax
call dword [0x47806c]
mov ecx, dword [0x494db4]
push ecx
call fcn.00407edf
add esp, 4
mov dword [0x494db4], 0
xor eax, eax
mov dword [0x494d78], eax
mov dword [0x494dd4], eax
mov byte [0x494b60], al
push 0
call dword [0x478058]
mov dword [0x494d78], eax
mov eax, dword [esp + 0x24]
mov ecx, ebx
mov ebx, 0x494d7c
call fcn.00466ec0
mov edx, dword [0x494dc0]
mov eax, dword [0x494d78]
push edx
push eax
call edi
mov ecx, dword [0x494d78]
push 0xffffff
push ecx
call dword [0x478038]
mov edx, dword [0x494d78]
push 2
push edx
call dword [0x478044]
mov eax, dword [0x494d78]
push 0
push eax
call dword [0x478040]
mov eax, dword [0x540990]
neg eax
sbb eax, eax
lea ecx, [esp + 0x220]
push ecx
push 1
xor ebx, ebx
push ebx
push ebx
push ebx
push 0x86
push ebx
push ebx
and eax, 0x2bc
push ebx
push eax
mov eax, dword [0x4eab8c]
lea eax, [eax + eax*2]
cdq
push ebp
sub eax, edx
push ebp
sar eax, 1
push eax
mov eax, dword [0x4ea660]
lea edx, [eax + eax*2]
push edx
call dword [0x47803c]
push eax
mov eax, dword [0x494d78]
push eax
call edi
push eax
call dword [0x47806c]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x12], bl
jmp 0x426ad6
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov al, byte [ecx + edx]
movzx ecx, al
mov byte [esp + 0x2f], al
cmp ecx, 0x5c
ja case.default.0x426af8
movzx eax, byte [ecx + 0x42780c]
jmp dword [eax*4 + 0x4277f4]
cmp dword [0x58cb8c], 0
jne case.0x426af8.1
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x50], edx
inc edx
cmp byte [esi + edx], 0x2f
mov dword [esp + 0x64], ebx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x4c], 1
mov ecx, edx
je 0x426b47
lea ecx, [ecx]
inc ecx
cmp byte [esi + ecx], 0x2f
jne 0x426b40
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
mov edi, eax
inc ecx
sar edi, 1
cmp byte [esi + ecx], 0x29
mov edx, ecx
je 0x426b67
jmp 0x426b60
inc ecx
cmp byte [esi + ecx], 0x29
jne 0x426b60
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
xor esi, esi
sar eax, 1
cmp dword [0x58ce2c], esi
jne 0x426c1e
mov edx, dword [0x4a86cc]
imul eax, dword [esp + 0x7c]
mov ecx, edi
imul ecx, edx
cmp eax, ecx
jle 0x426bdc
mov ecx, dword [0x4ea870]
dec ecx
imul ecx, edx
lea edx, [eax + ebx]
cmp edx, ecx
jle 0x426bbf
mov ecx, dword [esp + 0x44]
mov edx, dword [0x4eab80]
add edx, ecx
xor ebx, ebx
add ebp, edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x54], ebp
imul edi, dword [0x4eab8c]
sub eax, edi
mov dword [esp + 0x34], eax
cdq
sub eax, edx
sar eax, 1
add ebx, eax
mov dword [esp + 0x20], ebx
jmp case.0x426af8.0
mov edi, dword [0x4ea870]
dec edi
imul edi, edx
xor eax, eax
add ecx, ebx
cmp ecx, edi
mov dword [esp + 0x34], eax
jle 0x426c0e
mov ecx, dword [esp + 0x44]
mov edx, dword [0x4eab80]
add edx, ecx
xor ebx, ebx
add ebp, edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x54], ebp
cdq
sub eax, edx
sar eax, 1
add ebx, eax
mov dword [esp + 0x20], ebx
jmp case.0x426af8.0
imul edi, dword [0x4ea660]
imul eax, dword [esp + 0x44]
cmp eax, edi
jle 0x426c44
sub eax, edi
mov dword [esp + 0x34], eax
cdq
sub eax, edx
sar eax, 1
add ebp, eax
mov dword [esp + 0x14], ebp
jmp case.0x426af8.0
xor eax, eax
mov dword [esp + 0x34], eax
cdq
sub eax, edx
sar eax, 1
add ebp, eax
mov dword [esp + 0x14], ebp
jmp case.0x426af8.0
cmp dword [0x58cb8c], 0
jne case.0x426af8.1
push 0x64
lea eax, [esp + 0x1bc]
push 0
push eax
call fcn.00411230
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov ecx, esi
sub ecx, eax
push ecx
add edx, eax
push edx
lea eax, [esp + 0x1c0]
push eax
call fcn.004094f0
mov eax, dword [esp + 0x40]
cdq
sub eax, edx
inc esi
add esp, 0xc
sar eax, 1
cmp dword [0x58ce2c], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x4c], 3
jne 0x426cc4
add dword [esp + 0x20], eax
jmp 0x426cc8
add dword [esp + 0x14], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x80]
push ecx
push edx
mov edx, dword [esp + 0x5c]
push eax
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x1c4]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
mov dword [esp + 0x4c], 0
call fcn.00442400
jmp case.0x426af8.0
cmp dword [0x58cb8c], 0
jne case.0x426af8.1
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sub eax, dword [esp + 0x50]
mov dword [esp + 0x4c], 2
imul eax, dword [0x4a86cc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x34]
inc ecx
mov dword [0x54586c], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x50], ecx
jmp case.0x426af8.0
cmp byte [esp + 0x12], 0
je 0x426d59
inc dword [esp + 0x1c]
mov byte [esp + 0x12], 0
jmp 0x426ad2
mov esi, dword [esp + 0x3c]
xor eax, eax
cmp dword [0x58ce2c], eax
je 0x426d7e
mov ecx, dword [0x4a86cc]
sub dword [esp + 0x20], ecx
inc dword [esp + 0x1c]
mov dword [esp + 0x14], eax
jmp 0x426ad6
mov edx, dword [0x4eab80]
add dword [esp + 0x14], edx
inc dword [esp + 0x1c]
mov dword [esp + 0x20], eax
jmp 0x426ad6
mov esi, dword [esp + 0x3c]
mov al, byte [esp + 0x2f]
mov ecx, 2
mov byte [esp + 0x12], 0
cmp dword [esp + 0x4c], ecx
jne 0x426db6
add dword [esp + 0x1c], ecx
jmp case.0x426af8.0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov cl, byte [ecx + edx + 1]
mov byte [esp + 0x38], al
mov byte [esp + 0x39], cl
test al, al
jne 0x426dda
test cl, cl
je case.0x426af8.0
mov esi, dword [esp + 0x3c]
mov eax, dword [0x494dc4]
cdq
idiv dword [0x494de4]
cmp dword [0x494dd8], 1
mov ebp, dword [0x494dc8]
mov ebx, eax
jne 0x426dfe
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
push 0
mov byte [0x494b60], 0
call dword [0x47805c]
mov ecx, dword [0x494d78]
mov edi, eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
push edi
lea eax, [esp + 0x6c]
push eax
push ecx
mov dword [esp + 0x80], ebp
mov dword [esp + 0x7c], ebx
call dword [0x4782c0]
push edi
call dword [0x47806c]
cmp dword [0x58ce2c], 0
mov edi, dword [0x47804c]
push 2
jne 0x426e76
mov eax, dword [0x494d78]
lea edx, [esp + 0x3c]
push edx
push 0
push 0
push eax
call edi
cmp dword [0x540990], 0
je 0x426eb4
push 2
lea ecx, [esp + 0x3c]
push ecx
push 0
push 1
jmp 0x426eab
mov edx, dword [0x494d78]
lea eax, [esp + 0x3c]
push eax
mov eax, dword [0x4eab8c]
push 0
lea ecx, [eax + eax*2]
push ecx
push edx
call edi
cmp dword [0x540990], 0
je 0x426eb4
push 2
lea eax, [esp + 0x3c]
push eax
mov eax, dword [0x4eab8c]
push 0
lea ecx, [eax + eax*2 + 1]
push ecx
mov edx, dword [0x494d78]
push edx
call edi
mov ecx, esi
call fcn.00401f70
lea eax, [eax + eax*2]
mov edi, dword [esi + 0x268]
lea eax, [eax*8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
and edx, 3
add eax, edx
mov ebp, eax
mov eax, dword [esp + 0x20]
sar ebp, 2
mov ecx, edi
sub ecx, dword [esp + 0x14]
add ebp, ebp
add ebp, ebp
dec ecx
imul ecx, ebp
lea eax, [eax + eax*2]
add ecx, eax
mov eax, dword [0x4eab8c]
lea ebx, [eax + eax*2]
mov eax, dword [0x494dc4]
lea edx, [ebx + ebp]
mov dword [esp + 0x5c], edx
cdq
idiv dword [0x494de4]
cmp dword [0x494dd8], 1
jne 0x426f22
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
lea eax, [eax*8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
mov esi, dword [esi + 0x25c]
and edx, 3
add eax, edx
mov edx, dword [0x494dc8]
sar eax, 2
add eax, eax
add eax, eax
dec edx
imul edx, eax
mov dword [esp + 0x28], eax
add eax, ebx
cmp dword [0x58ccb4], 0
lea eax, [eax + eax*2]
mov dword [esp + 0x60], eax
mov eax, dword [0x494dbc]
mov ebx, edx
mov dword [esp + 0x84], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0x18], ebx
jne 0x426f9e
cmp dword [0x52b5bc], 0
je 0x426f9e
mov dword [0x5478c4], 1
mov dword [0x547cf4], 0
sub edi, dword [0x547cf4]
mov eax, dword [esp + 0x20]
sub edi, dword [esp + 0x14]
dec edi
imul edi, ebp
mov ebp, dword [0x5478c4]
add eax, ebp
lea eax, [eax + eax*2]
add edi, eax
xor eax, eax
cmp dword [esp + 0x334], eax
je 0x427158
cmp dword [0x4ea660], eax
mov dword [esp + 0x24], eax
jle 0x427388
lea esp, [esp]
cmp dword [0x4eab8c], 0
mov dword [esp + 0x48], 0
jle 0x42712e
mov edx, dword [esp + 0x30]
lea eax, [ebx + edx + 6]
mov edx, 3
sub edx, dword [esp + 0x28]
lea edx, [ebx + edx*2]
add edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + edx - 3]
movzx ebp, byte [eax - 3]
lea ebx, [ebp + ebx*2]
mov ebp, dword [esp + 0x28]
movzx ebp, byte [edx + ebp - 6]
add ebx, ebp
mov ebp, dword [esp + 0x28]
movzx ebp, byte [edx + ebp]
add ebx, ebp
movzx ebp, byte [edx - 3]
add ebx, ebp
movzx ebp, byte [eax]
lea ebx, [ebp + ebx*2]
movzx ebp, byte [eax - 6]
add ebx, ebp
movzx ebp, byte [edx]
add ebx, ebp
movzx ebp, byte [edx - 6]
add ebx, ebp
sar ebx, 4
mov ebp, 0xff
sub ebp, ebx
movzx ebx, byte [esi + ecx]
cmp ebx, ebp
jle 0x427065
mov ebx, ebp
mov byte [esi + ecx], bl
movzx ebx, byte [esi + ecx + 1]
inc ecx
cmp ebx, ebp
jle 0x427074
mov ebx, ebp
mov byte [esi + ecx], bl
movzx ebx, byte [esi + ecx + 1]
inc ecx
cmp ebx, ebp
jle 0x427083
mov ebx, ebp
mov byte [esi + ecx], bl
inc ecx
cmp dword [0x52b5bc], 0
je 0x42710a
mov ebx, dword [esp + 0x28]
movzx ebx, byte [ebx + edx - 3]
movzx ebp, byte [eax - 3]
lea ebx, [ebp + ebx*2]
mov ebp, dword [esp + 0x28]
movzx ebp, byte [edx + ebp - 6]
add ebx, ebp
mov ebp, dword [esp + 0x28]
movzx ebp, byte [edx + ebp]
add ebx, ebp
movzx ebp, byte [edx - 3]
add ebx, ebp
movzx ebp, byte [eax]
lea ebx, [ebp + ebx*2]
movzx ebp, byte [eax - 6]
add ebx, ebp
movzx ebp, byte [edx]
add ebx, ebp
movzx ebp, byte [edx - 6]
add ebx, ebp
sar ebx, 4
mov ebp, 0xff
sub ebp, ebx
movzx ebx, byte [edi + esi]
cmp ebx, ebp
jle 0x4270e8
mov ebx, ebp
mov byte [edi + esi], bl
movzx ebx, byte [edi + esi + 1]
inc edi
cmp ebx, ebp
jle 0x4270f7
mov ebx, ebp
mov byte [edi + esi], bl
movzx ebx, byte [edi + esi + 1]
inc edi
cmp ebx, ebp
jle 0x427106
mov ebx, ebp
mov byte [edi + esi], bl
inc edi
mov ebx, dword [esp + 0x48]
add dword [esp + 0x18], 9
inc ebx
add edx, 9
add eax, 9
cmp ebx, dword [0x4eab8c]
mov dword [esp + 0x48], ebx
jl 0x42700d
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x5c]
sub ebx, dword [esp + 0x60]
sub ecx, eax
sub edi, eax
mov eax, dword [esp + 0x24]
inc eax
cmp eax, dword [0x4ea660]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], eax
jl 0x426fe0
jmp 0x427388
cmp dword [0x52b5bc], eax
je 0x42725b
cmp dword [0x4ea660], eax
mov dword [esp + 0x48], eax
jle 0x42725b
jmp 0x427182
xor eax, eax
cmp dword [0x4eab8c], eax
mov dword [esp + 0x24], eax
jle 0x42723e
mov ebp, dword [esp + 0x30]
lea eax, [ebx + ebp + 6]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
mov edx, 3
sub edx, eax
lea edx, [ebx + edx*2]
add edx, ebp
jmp 0x4271b4
mov eax, dword [esp + 0x28]
movzx ebp, byte [eax + edx - 3]
movzx eax, byte [eax + edx]
lea eax, [eax + ebp*2]
mov ebp, dword [esp + 0x28]
movzx ebp, byte [edx + ebp - 6]
add eax, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, byte [ebp - 3]
add eax, ebp
movzx ebp, byte [edx - 3]
add eax, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, byte [ebp - 6]
lea eax, [ebp + eax*2]
movzx ebp, byte [edx - 6]
add eax, ebp
mov ebp, dword [esp + 0x18]
movzx ebp, byte [ebp]
add eax, ebp
movzx ebp, byte [edx]
add eax, ebp
test eax, 0xfffffff0
je 0x427214
mov byte [edi + esi], 0
inc edi
mov byte [edi + esi], 0
inc edi
mov byte [edi + esi], 0
inc edi
jmp 0x427217
add edi, 3
mov eax, dword [esp + 0x24]
add dword [esp + 0x18], 9
inc eax
add ebx, 9
add edx, 9
cmp eax, dword [0x4eab8c]
mov dword [esp + 0x24], eax
jl 0x4271b0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x48]
sub ebx, dword [esp + 0x60]
sub edi, dword [esp + 0x5c]
inc eax
cmp eax, dword [0x4ea660]
mov dword [esp + 0x48], eax
jl 0x427180
cmp dword [0x4ea660], 0
mov eax, edx
mov dword [esp + 0x24], 0
jle 0x427388
jmp 0x427280
cmp dword [0x4eab8c], 0
mov dword [esp + 0x18], 0
jle 0x42736b
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov edi, eax
sub edi, edx
add edx, edx
mov ebp, eax
sub ebp, edx
add edi, ebx
add ebp, ebx
cmp byte [esi + ecx], 0
jbe 0x4272c3
cmp byte [esi + ecx + 1], 0
jbe 0x4272c3
cmp byte [esi + ecx + 2], 0
ja 0x42734b
mov ebx, dword [esp + 0x30]
movzx ebx, byte [eax + ebx + 3]
movzx edx, byte [edi + 3]
lea edx, [ebx + edx*2]
movzx ebx, byte [ebp + 3]
add edx, ebx
movzx ebx, byte [edi + 6]
add edx, ebx
movzx ebx, byte [edi]
add edx, ebx
mov ebx, dword [esp + 0x30]
movzx ebx, byte [eax + ebx + 6]
lea edx, [ebx + edx*2]
mov ebx, dword [esp + 0x30]
movzx ebx, byte [eax + ebx]
add edx, ebx
movzx ebx, byte [ebp + 6]
add edx, ebx
movzx ebx, byte [ebp]
add edx, ebx
sar edx, 4
test edx, edx
je 0x42734b
mov ebx, dword [esp + 0x78]
shl ebx, 8
movzx ebx, byte [ebx + edx + 0x498588]
mov byte [esi + ecx], bl
mov ebx, dword [esp + 0x58]
shl ebx, 8
movzx ebx, byte [ebx + edx + 0x498588]
mov byte [esi + ecx + 1], bl
mov ebx, dword [esp + 0x80]
inc ecx
shl ebx, 8
mov dl, byte [ebx + edx + 0x498588]
inc ecx
mov byte [esi + ecx], dl
inc ecx
jmp 0x42734e
add ecx, 3
inc dword [esp + 0x18]
mov edx, dword [esp + 0x18]
add eax, 9
add edi, 9
add ebp, 9
cmp edx, dword [0x4eab8c]
jl 0x4272ab
mov edx, dword [esp + 0x24]
sub eax, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
inc edx
cmp edx, dword [0x4ea660]
mov dword [esp + 0x24], edx
jl 0x427280
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov ebp, dword [0x58cb8c]
add eax, 2
xor esi, esi
mov dword [esp + 0x1c], eax
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x24], esi
add eax, edx
mov dl, byte [eax]
test ebp, ebp
jne 0x427470
cmp dl, 0x28
jne 0x427453
lea edi, [ebp + 1]
inc eax
mov dl, byte [eax]
test ebp, ebp
jne 0x4274f8
cmp dl, 0x28
jne 0x4274db
lea edi, [ebp + 1]
inc eax
mov dl, byte [eax]
test ebp, ebp
jne 0x427584
cmp dl, 0x28
jne 0x427567
lea edi, [ebp + 1]
inc eax
mov dl, byte [eax]
test ebp, ebp
jne 0x427610
cmp dl, 0x28
jne 0x4275f3
lea edi, [ebp + 1]
inc eax
mov edx, dword [esp + 0x24]
add edx, 4
cmp edx, 0x80
mov dword [esp + 0x24], edx
jl 0x4273a9
mov ebx, dword [0x4eab80]
mov ebp, dword [esp + 0x14]
xor edi, edi
mov byte [esp + ecx + 0x8a], 0
mov byte [esp + ecx + 0x89], 0
mov byte [esp + ecx + 0x88], 0
cmp dword [0x58ce2c], edi
je 0x42767f
add ebp, ebx
mov dword [esp + 0x14], ebp
jmp 0x427688
cmp dl, 0x2f
jne 0x427462
mov esi, 1
jmp 0x4273bf
cmp dl, 0x29
jne 0x427470
xor esi, esi
xor edi, edi
jmp 0x4273bf
test dl, dl
je 0x427418
cmp dl, 0x81
jb 0x42747e
cmp dl, 0x9f
jbe 0x42748c
mov bl, dl
add bl, 0x20
cmp bl, 0x1c
ja 0x4273bf
test esi, esi
je 0x427498
add eax, 2
jmp 0x4273c0
test edi, edi
jne 0x4274b5
mov byte [esp + ecx + 0x88], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
jmp 0x4273bf
movzx edx, byte [0x4ea348]
mov byte [esp + ecx + 0x88], dl
movzx edx, byte [0x4ea349]
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
add eax, 2
jmp 0x4273c0
cmp dl, 0x2f
jne 0x4274ea
mov esi, 1
jmp 0x4273d6
cmp dl, 0x29
jne 0x4274f8
xor esi, esi
xor edi, edi
jmp 0x4273d6
test dl, dl
je 0x427418
cmp dl, 0x81
jb 0x42750a
cmp dl, 0x9f
jbe 0x427518
mov bl, dl
add bl, 0x20
cmp bl, 0x1c
ja 0x4273d6
test esi, esi
je 0x427524
add eax, 2
jmp 0x4273d7
test edi, edi
jne 0x427541
mov byte [esp + ecx + 0x88], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
jmp 0x4273d6
movzx edx, byte [0x4ea348]
mov byte [esp + ecx + 0x88], dl
movzx edx, byte [0x4ea349]
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
add eax, 2
jmp 0x4273d7
cmp dl, 0x2f
jne 0x427576
mov esi, 1
jmp 0x4273ed
cmp dl, 0x29
jne 0x427584
xor esi, esi
xor edi, edi
jmp 0x4273ed
test dl, dl
je 0x427418
cmp dl, 0x81
jb 0x427596
cmp dl, 0x9f
jbe 0x4275a4
mov bl, dl
add bl, 0x20
cmp bl, 0x1c
ja 0x4273ed
test esi, esi
je 0x4275b0
add eax, 2
jmp 0x4273ee
test edi, edi
jne 0x4275cd
mov byte [esp + ecx + 0x88], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
jmp 0x4273ed
movzx edx, byte [0x4ea348]
mov byte [esp + ecx + 0x88], dl
movzx edx, byte [0x4ea349]
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
add eax, 2
jmp 0x4273ee
cmp dl, 0x2f
jne 0x427602
mov esi, 1
jmp 0x427404
cmp dl, 0x29
jne 0x427610
xor esi, esi
xor edi, edi
jmp 0x427404
test dl, dl
je 0x427418
cmp dl, 0x81
jb 0x427622
cmp dl, 0x9f
jbe 0x427630
mov bl, dl
add bl, 0x20
cmp bl, 0x1c
ja 0x427404
test esi, esi
je 0x42763c
add eax, 2
jmp 0x427405
test edi, edi
jne 0x427659
mov byte [esp + ecx + 0x88], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
jmp 0x427404
movzx edx, byte [0x4ea348]
mov byte [esp + ecx + 0x88], dl
movzx edx, byte [0x4ea349]
inc ecx
mov byte [esp + ecx + 0x88], dl
inc ecx
add eax, 2
jmp 0x427405
mov eax, dword [0x4a86cc]
add dword [esp + 0x20], eax
mov dword [esp + 0x18], 3
cmp ecx, dword [esp + 0x18]
jle 0x42771a
cmp byte [0x58c9c7], 1
je 0x42771a
cmp byte [0x4ea348], 0
je 0x4276de
mov al, byte [esp + edi + 0x88]
mov dl, byte [0x4ea348]
mov esi, 0x4ea348
mov edi, edi
cmp dl, al
jne 0x4276d4
mov dl, byte [esi + 1]
cmp dl, byte [esp + edi + 0x89]
je 0x427763
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x4276c0
cmp byte [0x538f38], 0
je 0x42771a
mov al, byte [esp + edi + 0x8a]
mov dl, byte [0x538f38]
mov esi, 0x538f38
lea esp, [esp]
cmp dl, al
jne 0x427710
mov dl, byte [esi + 1]
cmp dl, byte [esp + edi + 0x8b]
je 0x427763
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x427700
mov eax, edi
cdq
xor esi, esi
sub eax, edx
cmp dword [0x58ce2c], esi
je 0x427770
mov ecx, dword [0x4e8fc4]
sar eax, 1
imul eax, ebx
dec ecx
imul ecx, ebx
add eax, ebp
cmp eax, ecx
jle case.0x426af8.0
mov ecx, dword [0x4a86cc]
mov edx, dword [0x4ea870]
mov eax, dword [esp + 0x20]
imul edx, ecx
add eax, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], esi
cmp eax, edx
jmp 0x4277c8
add edi, 2
add dword [esp + 0x18], 2
jmp 0x427690
mov ecx, dword [0x4ea870]
mov edx, eax
mov eax, dword [0x4a86cc]
sar edx, 1
imul edx, eax
add edx, dword [esp + 0x20]
dec ecx
imul ecx, eax
cmp edx, ecx
jle case.0x426af8.0
cmp byte [esp + 0x13], 0
je 0x4277b3
cmp dword [0x58cb6c], esi
je 0x4277b3
mov eax, dword [esp + 0x44]
lea ecx, [ebx + eax]
add ebx, eax
imul ebx, dword [0x4e8fc4]
add ebp, ecx
cmp ebp, ebx
jmp 0x4277c0
mov edx, dword [0x4e8fc4]
imul edx, ebx
add ebp, ebx
cmp ebp, edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], esi
mov byte [esp + 0x12], 1
jge 0x4277da
cmp byte [esp + 0x2f], 0
jne 0x426ad2
mov ecx, dword [esp + 0x324]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00407ed0
add esp, 0x31c
ret