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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x54], 0x59ee5bf1
mov dword [esp + 0x58], 0x5df95fe3
mov dword [esp + 0x5c], 0x512053ef
mov dword [esp + 0x60], 0x55de57eb
mov dword [esp + 0x64], 0xa9aaabef
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x13
ja 0x3dbbb
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x54]
push dword [esp + 0xc]
push eax
call fcn.00041140
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x14
jb 0x3db90
lea ebx, [esp + 0x54]
lea ecx, [esp + 0x40]
push ebx
call fcn.00053e60
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x6241c]
lea ecx, [esp + 0x40]
push 0x410
call fcn.00054060
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x62424]
mov eax, dword [case.0x3dbce.1]
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x54], 0x3a53083d
mov dword [esp + 0x58], 0xa5530
mov dword [esp + 0x5c], 0x340d3351
mov dword [esp + 0x60], 0x3f162e4d
mov dword [esp + 0x64], 0x104b423e
mov dword [esp + 0x68], 0x27444e45
mov dword [esp + 0x6c], 0x2229462a
mov dword [esp + 0x70], 0xdeb7dcc3
mov dword [esp + 0x74], 0xbec0cec2
mov dword [esp + 0x78], 0xd6b3adc1
mov dword [esp + 0x7c], 0x7baab1b1
mov dword [esp + 0x80], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x2f
ja 0x3dcab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x54]
push dword [esp + 0xc]
push eax
call fcn.000411c0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x30
jb 0x3dc80
lea eax, [esp + 0xc]
lea ecx, [esp + 0x40]
push 0
push 0x2b
push ebx
push eax
call fcn.00054b60
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
xor eax, eax
cmp edi, esi
sete al
mov dword [esp + 0x18], esi
jmp dword [eax*4 + 0x6243c]
mov eax, esi
sub eax, edi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x20], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], eax
jmp dword [ecx*4 + 0x62454]
mov eax, dword [esp + 0x20]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x6245c]
mov esi, dword [esp + 0x38]
jmp dword [0x624bc]
xor ecx, ecx
jmp dword [0x62450]
mov edi, dword [esp + 0x2c]
add edi, 8
xor eax, eax
cmp edi, esi
setne al
jmp dword [eax*4 + 0x62454]
mov esi, dword [edi]
mov dword [esp + 0x2c], edi
mov edi, dword [edi + 4]
push 0x400
push 0
push ebx
call fcn.0001cb80
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x40]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.00054960
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp]
or ecx, dword [esp + 4]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x62464]
mov eax, 1
mov esi, dword [esp + 0x18]
jmp dword [eax*4 + 0x6246c]
xor eax, eax
mov esi, dword [esp + 0x18]
jmp dword [eax*4 + 0x6246c]
jmp dword [0x6247c]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x3ddd0
mov ecx, ebx
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x3de00
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x3ddf0
jmp 0x3ddd0
mov edx, ecx
jmp dword [0x6247c]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x62484]
movzx eax, byte [edx + 1]
inc edx
xor edi, edi
test al, al
je 0x3de41
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x3de3f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x3de30
jmp 0x3de41
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x6248c]
mov ecx, edi
sub ecx, edx
lea esi, [ecx + ecx*2]
shr esi, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x3de67
cmp eax, 0x2e
jne 0x3de68
dec esi
movzx eax, byte [edx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x28], edx
mov dword [esp + 0x30], ecx
je 0x3de7f
cmp eax, 0x2e
jne 0x3de80
dec esi
mov dword [esp + 0x50], esi
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x28]
cmp edi, esi
je 0x3df8a
xor edx, edx
mov edi, 2
jmp 0x3dec4
mov edx, dword [esp + 0x3c]
nop
nop
nop
lea eax, [edi + 4]
add edi, 2
cmp edi, ecx
mov edi, eax
mov esi, dword [esp + 0x28]
jae 0x3df8a
mov dword [esp + 0x34], edx
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00032950
add esp, 4
mov ebx, eax
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00032950
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
mov byte [ecx + edx], al
inc edx
mov ecx, dword [esp + 0x30]
cmp edi, ecx
jae 0x3deb0
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + edi]
push eax
mov esi, edx
call fcn.00032950
mov edx, esi
mov ecx, dword [esp + 0x34]
add esp, 4
cmp al, 0x40
je 0x3deb0
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov esi, dword [esp + 0x34]
lea edx, [esi + 2]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x24]
mov byte [edx + esi + 1], al
lea eax, [edi + 1]
cmp eax, ecx
jae 0x3dea9
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00032950
mov ecx, dword [esp + 0x34]
add esp, 4
cmp al, 0x40
mov edx, dword [esp + 0x3c]
je 0x3deb0
shl bl, 6
add al, bl
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x34]
mov byte [edx + esi + 2], al
add esi, 3
mov edx, esi
jmp 0x3deb0
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x24]
mov byte [esi + eax], 0
push esi
call fcn.00013c20
add esp, 4
mov ebx, eax
jmp dword [0x62494]
push esi
call fcn.0001cb10
add esp, 4
mov edi, dword [esp + 0x2c]
jmp dword [0x624a0]
mov edi, dword [esp + 0x2c]
jmp dword [0x624a0]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x624ac]
mov esi, dword [esp + 0x18]
jmp 0x3e0a9
mov esi, eax
mov dword [esp], 0x2340b4b3
lea eax, [esp + 4]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 6
ja 0x3e039
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax]
push dword [esp + 8]
push eax
call fcn.00041240
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 7
jb 0x3e010
mov eax, esp
push eax
push esi
call fcn.000144d0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x624b4]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
jmp 0x3e083
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
je 0x3e07b
inc eax
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x3e070
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x3e09b
lea ecx, [esp + 0x55]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x3e090
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x1c], edx
mov al, 1
mov dword [esp + 0x20], eax
push ebx
call fcn.00014cc0
add esp, 4
add edi, 8
xor eax, eax
cmp edi, esi
setne al
lea ebx, [esp + 0x54]
jmp dword [eax*4 + 0x62454]
push ebx
call fcn.00014710
add esp, 4
push ebx
call fcn.00014710
add esp, 4
jmp dword [0x624a4]
mov edi, dword [esp + 0x1c]
mov byte [edi], 0
mov dword [esp + 0x54], 0xa3a6b989
mov dword [esp + 0x58], 0xafb3babd
mov dword [esp + 0x5c], 0xa0aca2b9
mov dword [esp + 0x60], 0xb6a6826f
mov dword [esp + 0x64], 0xbb55acb9
mov dword [esp + 0x68], 0x918f9297
mov dword [esp + 0x6c], 0x9792539f
mov word [esp + 0x70], 0x6d90
mov dword [esp + 0x72], 0
mov word [esp + 0x76], 0
mov esi, dword [esp + 0x38]
sub edi, esi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x3e176
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x54]
push dword [esp]
push eax
call fcn.000412b0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x3e150
lea eax, [esp + 0x54]
mov ecx, dword [ebp + 8]
push edi
push esi
push eax
call fcn.0001d7c0
mov dword [esp + 0x20], eax
jmp dword [0x624bc]
jmp dword [0x624c4]
push esi
call fcn.0001cb10
add esp, 4
nop
nop
push esi
call fcn.0001cb10
add esp, 4
jmp dword [0x624cc]
mov eax, dword [case.0x3dcd1.5]
mov ecx, dword [esp + 0x20]
and cl, 1
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0xc]
test eax, eax
je case.0x3dbce.1
cmp eax, dword [esp + 0x10]
je case.0x3dbce.1
push eax
mov esi, ecx
call fcn.0001cb10
mov ecx, esi
add esp, 4
mov ebx, ecx
lea ecx, [esp + 0x40]
call fcn.000541b0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], 0xc174c760
mov dword [esp + 0x1c], 0xcd0bc30f
mov dword [esp + 0x20], 0xc973cf07
mov dword [esp + 0x24], 0xb578cb74
mov dword [esp + 0x28], 0xb112b70f
mov dword [esp + 0x2c], 0xbd71b307
mov dword [esp + 0x30], 0xb976bf71
mov dword [esp + 0x34], 0xa50cbb73
mov dword [esp + 0x38], 0xa102a76b
mov dword [esp + 0x3c], 0xad13a31d
mov dword [esp + 0x40], 0xa912af62
mov dword [esp + 0x44], 0x9569ab11
mov dword [esp + 0x48], 0x91599726
mov dword [esp + 0x4c], 0x9d2c9334
mov dword [esp + 0x50], 0x990a9f3f
mov dword [esp + 0x54], 0x85359b06
mov dword [esp + 0x58], 0x813b8720
mov dword [esp + 0x5c], 0x8d2d831c
mov dword [esp + 0x60], 0x89198f2f
mov word [esp + 0x64], 0x8b88
mov byte [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x52
ja 0x3e316
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00041a80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x53
jb 0x3e2f0
lea eax, [esp + 0x70]
lea ebp, [esp + 0x18]
push 0
push 0
push esi
push eax
push ebp
call fcn.0005a920
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x6250c]
mov esi, edi
lea edi, [esp + 0x78]
lea eax, [esp + 0x90]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x90]
call fcn.0005ad20
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x62514]
mov ecx, dword [esp + 0x78]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x3e385
mov eax, 0xffffffff
push eax
call fcn.0001cb00
add esp, 4
mov ebx, eax
mov dword [esp + 0x18], 0x8f3c8951
mov dword [esp + 0x1c], 0x83368d3b
mov dword [esp + 0x20], 0x873a8121
mov dword [esp + 0x24], 0x9b4a8538
mov dword [esp + 0x28], 0x9f2a9939
mov dword [esp + 0x2c], 0x93929d24
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x3e3f6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00041b10
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x3e3d0
push edi
push ebx
push 0
push ebp
push dword [esp + 0x80]
call fcn.0005b2f0
add esp, 0x14
shr eax, 0x1f
mov esi, ebx
jmp dword [eax*4 + 0x6251c]
xor esi, esi
jmp dword [0x62524]
push ebx
call fcn.0001cb10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, dword [esp + 0x70]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x3e479
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x3e450
mov eax, dword [0x65f70]
test eax, eax
je 0x3e4b0
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x3e4a0
inc edx
cmp eax, edx
jne 0x3e490
jmp 0x3e4b0
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne case.default.0x3e4bd
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov edi, esi
test esi, esi
setne al
lea ebx, [esp + 0x66]
jmp dword [eax*4 + 0x6252c]
push ebp
call fcn.00059fd0
add esp, 4
cmp dword [esp + 0x18], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x62534]
xor ecx, ecx
jmp 0x3e515
jmp case.0x3e506.1
push ebx
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
xor eax, eax
mov edi, esi
test esi, esi
setne al
lea ebx, [esp + 0x66]
jmp dword [eax*4 + 0x6252c]
mov ecx, 2
mov eax, dword [case.0x3e335.1]
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x6254c]
xor eax, eax
cmp ecx, 4
sete al
jmp dword [eax*4 + 0x62554]
xor eax, eax
test ecx, ecx
sete al
jmp dword [eax*4 + 0x6255c]
jmp dword [0x62570]
mov esi, 0x20119
xor eax, eax
jmp dword [eax*4 + 0x624e4]
jmp dword [0x624f8]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x62574]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x3e590
sub eax, edi
cmp eax, 0xffffffd9
jge 0x3e5b0
mov eax, 0xffffffff
jmp 0x3e5b3
xor ebx, ebx
jmp 0x3efe4
add eax, 0x26
push eax
call fcn.0001cb00
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0x315b3f50
mov dword [esp + 0x1c], 0x354c3341
mov dword [esp + 0x20], 0x494d3752
mov dword [esp + 0x24], 0x4d264b31
mov dword [esp + 0x28], 0x413f4f29
mov dword [esp + 0x2c], 0x4524433e
mov dword [esp + 0x30], 0x593f473f
mov dword [esp + 0x34], 0x5d2c5b66
mov dword [esp + 0x38], 0x51385f38
mov dword [esp + 0x3c], 0x5350
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x28
ja 0x3e656
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00041b90
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x29
jb 0x3e630
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x3e681
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x3e670
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x3e6b1
lea edx, [esp + 0x1a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x3e6a0
mov word [eax], 0
jmp dword [0x6257c]
push edi
call fcn.0001cb10
add esp, 4
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x62584]
xor eax, eax
cmp word [esi], 0x2a
sete al
jmp dword [eax*4 + 0x62584]
mov dword [esp + 0x18], 0x23e821e3
mov dword [esp + 0x1c], 0x27852588
mov dword [esp + 0x20], 0x3b843987
mov dword [esp + 0x24], 0x3f873d9a
mov dword [esp + 0x28], 0x339e3197
mov dword [esp + 0x2c], 0x37893597
mov dword [esp + 0x30], 0xbac09b6
mov dword [esp + 0x34], 0xfa90db5
mov dword [esp + 0x38], 0x3b401fe
mov dword [esp + 0x3c], 0x7a005a0
mov dword [esp + 0x40], 0x1918
mov byte [esp + 0x44], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x3e786
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00041c00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x3e760
jmp dword [0x6258c]
lea eax, [esp + 0x18]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
nop
nop
nop
nop
nop
nop
lea eax, [esp + 0x18]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x62594]
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0005a1e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x6259c]
xor ebx, ebx
xor ebp, ebp
jmp dword [0x625fc]
push esi
call fcn.0001cb10
add esp, 4
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x62604]
mov dword [esp + 0x14], ebx
xor ebx, ebx
jmp 0x3efa3
mov dword [esp + 0xc], esi
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x78]
call fcn.0005a530
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x625a4]
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.0005a610
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x625ac]
mov esi, dword [esp + 0x90]
mov byte [edi + esi], 0
push 0x20
call fcn.0001cb00
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x7c], eax
mov ecx, eax
push esi
mov dword [esp + 0x84], edi
push edi
call fcn.00041330
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x625b4]
mov dword [esp + 0x18], 0xab94aa8f
mov dword [esp + 0x1c], 0x86b49ca7
mov dword [esp + 0x20], 0x8b879bf3
mov dword [esp + 0x24], 0x9cf980be
mov dword [esp + 0x28], 0x828f8cbc
mov dword [esp + 0x2c], 0xb4b5ecff
mov dword [esp + 0x30], 0x83848483
mov word [esp + 0x34], 0x1583
mov dword [esp + 0x36], 0
mov word [esp + 0x3a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x3e946
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00042610
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x3e920
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x7c]
push eax
call fcn.00041590
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x625bc]
mov edi, dword [esp + 0x80]
jmp dword [0x625ec]
mov esi, dword [esp + 0x7c]
mov ecx, esi
call fcn.00041720
push esi
call fcn.0001cb10
add esp, 4
jmp dword [0x625f4]
jmp dword [0x625cc]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp dword [eax*4 + 0x625d4]
xor eax, eax
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [ebx + ecx + 4], eax
mov ebp, dword [esp + 0x6c]
add ebp, 8
mov ecx, dword [esp + 0x94]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
mov edx, dword [esp + 0x8c]
jmp dword [eax*4 + 0x625d4]
mov esi, dword [ecx]
mov ebx, ebp
sub ebx, edi
cmp ebp, edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x94], ecx
je 0x3ea09
mov dword [esp + 0x6c], ebp
mov ebp, edi
jmp 0x3ea91
mov eax, ebx
sar eax, 3
inc eax
mov dword [esp + 0x8c], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x3ea29
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0001cb00
add esp, 4
mov ebp, eax
test edi, edi
je 0x3ea7c
mov edx, dword [esp + 0x8c]
cmp edi, edx
je 0x3ea73
xor eax, eax
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x3ea50
push edi
call fcn.0001cb10
add esp, 4
lea edx, [ebx*8]
add edx, ebp
mov eax, ebp
mov ebx, dword [esp + 0x10]
add eax, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x8c], edx
mov dword [ebp + ebx], 0
mov dword [esp + 0x14], ebp
mov dword [ebp + ebx + 4], 0
xor eax, eax
mov ecx, esi
mov ebp, ecx
mov ebx, eax
inc ecx
dec eax
cmp byte [ebp], 0
jne 0x3eab0
sub ebp, esi
lea edi, [ebp + 1]
push edi
call fcn.0001cb00
add esp, 4
mov edx, eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax + ecx], edx
shr edi, 2
mov eax, esi
mov ecx, edi
mov edi, edx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, 0xfffffffe
sub eax, ebp
mov ecx, eax
or ecx, 0xfffffffc
lea edi, [ecx + ebp]
add edi, 2
add edx, edi
add edi, esi
or eax, 3
add eax, ebp
add eax, 2
mov ecx, eax
shr ecx, 1
mov dword [esp + 0x84], edi
mov dword [esp + 8], edi
mov dword [esp + 0x88], edx
mov edi, edx
mov edx, dword [esp + 8]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
test al, 1
je 0x3eb41
and eax, 0xfffffffe
mov ecx, dword [esp + 0x84]
movzx ecx, byte [ecx + eax]
mov edx, dword [esp + 0x88]
mov byte [edx + eax], cl
test ebp, ebp
je 0x3e9b1
mov eax, 0xffffffff
nop
nop
movzx edx, byte [esi]
xor edx, eax
mov eax, edx
shr eax, 1
mov ecx, edx
and ecx, 1
neg ecx
and ecx, 0xedb88320
xor ecx, eax
mov edi, ecx
shr edi, 1
mov eax, edx
shl eax, 0x1e
sar eax, 0x1f
and eax, 0xedb88320
xor eax, edi
mov ebp, edx
shl ebp, 0x1d
sar ebp, 0x1f
and ebp, 0x76dc419
mov edi, edx
shl edi, 0x1c
sar edi, 0x1f
and edi, 0xedb8832
xor edi, ebp
mov ebp, edx
shl ebp, 0x1b
sar ebp, 0x1f
and ebp, 0x1db71064
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x3b6e20c8
xor edx, ebp
xor edx, edi
mov edi, eax
shr edi, 6
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0x76dc4190
xor ecx, edx
shl eax, 0x1a
sar eax, 0x1f
and eax, 0xedb88320
xor eax, ecx
inc esi
inc ebx
jne 0x3eb50
not eax
jmp 0x3e9b3
jmp dword [0x625f4]
push edi
call fcn.0001cb10
add esp, 4
mov esi, dword [esp + 0x70]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x3ec49
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x3ec20
mov eax, dword [0x65f70]
test eax, eax
je 0x3ec7c
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x3ec70
inc edx
cmp eax, edx
jne 0x3ec60
jmp 0x3ec7c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x3eff7
mov esi, dword [esp + 0xc]
jmp dword [0x625fc]
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x62604]
mov eax, ebp
mov dword [esp + 0x14], ebx
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0001cb00
add esp, 4
mov ebx, eax
mov edi, dword [0x65f6c]
mov dword [esp + 0x18], 0xe132e7db
mov dword [esp + 0x1c], 0xfd1fe311
mov dword [esp + 0x20], 0xf90aff1f
mov dword [esp + 0x24], 0xf50afb3b
mov dword [esp + 0x28], 0xf12af704
mov dword [esp + 0x2c], 0x8d7ef313
mov dword [esp + 0x30], 0x89b18f6f
mov dword [esp + 0x34], 0x85678b6c
mov dword [esp + 0x38], 0x81798708
mov dword [esp + 0x3c], 0x9d758363
mov dword [esp + 0x40], 0x996a9f78
mov dword [esp + 0x44], 0x95679b69
mov dword [esp + 0x48], 0x91629777
mov dword [esp + 0x4c], 0xad1c93a6
mov dword [esp + 0x50], 0xa950af50
mov dword [esp + 0x54], 0xaba8
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x3f
ja 0x3ed76
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.000426a0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x40
jb 0x3ed50
lea esi, [esp + 0x90]
lea eax, [esp + 0x18]
push esi
push 0
push 0
push 0x1e
push eax
push 0
call edi
mov edi, dword [esp + 0x90]
test edi, edi
mov dword [esp + 0x88], ebx
jns 0x3eda6
mov eax, 0xffffffff
jmp 0x3eda9
lea eax, [edi + edi]
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x84], eax
mov ebx, dword [0x65f6c]
mov dword [esp + 0x18], 0x21f227db
mov dword [esp + 0x1c], 0x3d9f2391
mov dword [esp + 0x20], 0x398a3f9f
mov dword [esp + 0x24], 0x358a3bfb
mov dword [esp + 0x28], 0x31ea3784
mov dword [esp + 0x2c], 0xdbe3393
mov dword [esp + 0x30], 0x9f10faf
mov dword [esp + 0x34], 0x5a70bac
mov dword [esp + 0x38], 0x1b90788
mov dword [esp + 0x3c], 0x1db503a3
mov dword [esp + 0x40], 0x19aa1fb8
mov dword [esp + 0x44], 0x15a71ba9
mov dword [esp + 0x48], 0x11a217b7
mov dword [esp + 0x4c], 0xed9c13e6
mov dword [esp + 0x50], 0xe950ef50
mov dword [esp + 0x54], 0xebe8
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x3ee86
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00042720
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x3ee60
push esi
push edi
mov esi, dword [esp + 0x8c]
push esi
push 0x1e
lea eax, [esp + 0x28]
push eax
push 0
call ebx
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0005a1e0
add esp, 0x14
not eax
shr eax, 0x1f
mov ebx, dword [esp + 0x88]
jmp dword [eax*4 + 0x6260c]
mov edi, ebx
xor ebx, ebx
jmp dword [0x626f4]
push esi
call fcn.0001cb10
add esp, 4
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x626fc]
mov byte [edi], 0
mov dword [esp + 0x18], 0x252a2b43
mov dword [esp + 0x1c], 0x29595a27
mov dword [esp + 0x20], 0x24202223
mov dword [esp + 0x24], 0x2e224261
mov dword [esp + 0x28], 0x5d7b3853
mov dword [esp + 0x2c], 0x3f353239
mov dword [esp + 0x30], 0x29367139
mov dword [esp + 0x34], 0xa734
mov esi, dword [esp + 0x88]
sub edi, esi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x3ef76
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00042800
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x3ef50
mov ecx, dword [esp + 0xbc]
push edi
push esi
lea eax, [esp + 0x20]
push eax
call fcn.0001d7c0
mov dword [esp + 8], eax
jmp dword [0x62704]
push esi
call fcn.0001cb10
add esp, 4
mov ebx, dword [esp + 8]
and bl, 1
mov esi, dword [esp + 0x14]
test esi, esi
je 0x3efe4
cmp esi, ebp
jne 0x3efc7
jmp 0x3efe4
add esi, 8
cmp esi, ebp
je 0x3efd8
mov eax, dword [esi]
test eax, eax
je 0x3efc0
push eax
call fcn.0001cb10
add esp, 4
jmp 0x3efc0
push dword [esp + 0x14]
call fcn.0001cb10
add esp, 4
mov eax, ebx
add esp, 0xa8
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x62618]
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
mov esi, dword [esp + 0xc]
jmp dword [0x625fc]
jmp dword [0x62664]
cmp dword [esi + 0x18], 3
mov ebp, 0
jne 0x3f020
mov ebp, dword [esi + 0x10]
jmp 0x3f020
mov edx, dword [esi]
test edx, edx
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x6266c]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x62644]
mov dword [esp + 0x10], edx
mov dword [esp + 0x80], esi
mov eax, ebp
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x3f0a3
mov dword [esp + 0xc], edi
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0xa4], ecx
lea eax, [ecx + 1]
push eax
call fcn.0001cb00
add esp, 4
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x7c], eax
jmp dword [edx*4 + 0x62674]
mov byte [eax], cl
inc eax
movsx ecx, byte [esi]
xor ebx, ebx
test ecx, ecx
setne bl
mov ebp, esi
jmp dword [ebx*4 + 0x62674]
lea esi, [ebp + 1]
mov edi, ecx
or edi, 0x20
lea ebx, [edi - 0x61]
cmp ebx, 5
ja case.default.0x3f0ec
and ecx, 0xffffff9e
xor edi, 0xffffff9e
lea ecx, [edi + ecx*2]
add ecx, 0xb
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x6267c]
add ecx, 0xffffffd0
cmp ecx, 0xa
jb case.default.0x3f117
mov ecx, 0xffffffff
movsx ebx, byte [esi]
xor edx, edx
test ebx, ebx
setne dl
jmp dword [edx*4 + 0x6267c]
shl ecx, 4
add ebp, 2
mov edx, ebx
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 5
ja case.default.0x3f157
and ebx, 0xffffff9e
xor edx, 0xffffff9e
lea edx, [edx + ebx*2]
add edx, 0xb
mov esi, edx
not esi
and esi, ecx
xor edx, ecx
add edx, ecx
sub edx, esi
mov byte [eax], dl
inc eax
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x62674]
add ebx, 0xffffffd0
cmp ebx, 0xa
jb case.default.0x3f187
mov ebx, 0xffffffff
mov edx, ebx
not edx
and edx, ecx
xor ebx, ecx
add ebx, ecx
sub ebx, edx
mov byte [eax], bl
inc eax
movsx ecx, byte [ebp]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x62674]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x1c]
call fcn.000417c0
add esp, 0x10
mov dword [esp + 0x10], eax
mov dword [esp + 0x8c], edx
mov ecx, dword [case.0x3f187.57]
mov dword [esp + 0x94], 0
mov edi, dword [case.0x3f6a8.35]
xor ebx, ebx
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x14]
cmp esi, ebp
setne bl
jmp dword [ebx*4 + 0x62684]
jmp ecx
mov edx, ebp
mov ebx, dword [esi + 4]
mov ebp, ebx
shr ebp, 0x1c
shl ebx, 4
or ebx, 1
xor ebp, dword [esp + 0x8c]
xor ebx, dword [esp + 0x10]
xor eax, eax
or ebx, ebp
sete al
jmp dword [eax*4 + 0x6269c]
mov eax, 1
mov ebp, edx
jmp dword [eax*4 + 0x626b4]
mov eax, dword [esi]
mov dword [esp + 0x94], eax
xor eax, eax
mov ebp, edx
jmp dword [eax*4 + 0x626b4]
jmp edi
add esi, 8
xor ebx, ebx
cmp esi, ebp
setne bl
jmp dword [ebx*4 + 0x62684]
xor eax, eax
mov ebx, dword [esp + 0x94]
test ebx, ebx
setne al
mov dword [esp + 0x6c], ebp
jmp dword [eax*4 + 0x626cc]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x80]
jmp dword [0x626dc]
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x80]
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x3f2e2
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
push 0x6c625980
push dword [0x65f7c]
call fcn.00059780
add esp, 8
mov ecx, esp
lea edx, [esp + 0x70]
push edx
push 1
push 0
push 0
push ecx
push 0
lea ecx, [esp + 0x30]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x626d4]
jmp dword [0x626dc]
movzx eax, byte [ebx]
test al, al
je 0x3f30b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x3f300
mov word [edi], 0x203a
mov eax, edi
add eax, 2
mov esi, dword [esp + 0x70]
test esi, esi
je 0x3f34b
mov ecx, dword [esp + 0x74]
mov edx, esi
and edx, 3
je 0x3f34f
xor edi, edi
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x3f330
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x3f351
mov edi, eax
jmp 0x3f399
mov edx, esi
cmp esi, 4
jb 0x3f399
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x3f360
mov byte [edi], 0xa
inc edi
push 0xe050b307
push dword [0x65f64]
call fcn.00059780
add esp, 8
push dword [esp + 0x74]
call eax
mov al, 1
mov dword [esp + 8], eax
mov esi, dword [esp + 0x80]
jmp dword [0x626dc]
push dword [esp + 0x7c]
call fcn.0001cb10
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x62644]
mov eax, dword [case.0x3eebe.10]
mov ebp, dword [esp + 0x6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [esp + 0xa0]
call fcn.0001cb10
add esp, 4
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x78]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x3f469
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x3f440
mov eax, dword [0x65f70]
test eax, eax
je 0x3f498
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x3f490
inc edx
cmp eax, edx
jne 0x3f480
jmp 0x3f498
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x3f4cc
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp dword [0x626f4]
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x626fc]
mov esi, dword [esp + 0x88]
jmp dword [0x62704]
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
mov esi, dword [esp + 0x84]
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
jmp dword [0x626f4]
mov dword [esp + 0x6c], ebp
add eax, 8
mov dword [esp + 8], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov edi, ebx
jmp dword [eax*4 + 0x62644]
mov esi, dword [esp + 0x9c]
mov ecx, esi
call fcn.00041720
push esi
call fcn.0001cb10
add esp, 4
jmp dword [0x626ec]
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov edi, ebx
jmp dword [eax*4 + 0x62624]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
push 0
push esi
mov dword [esp + 0xa8], eax
push eax
push dword [esp + 0x84]
call fcn.0005a610
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov edi, ebx
jmp dword [eax*4 + 0x6262c]
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
mov byte [edi + esi], 0
push 0x20
call fcn.0001cb00
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push esi
push edi
call fcn.00041330
movzx eax, al
mov dword [esp + 8], 0
mov edi, ebx
jmp dword [eax*4 + 0x62634]
mov dword [esp + 0x18], 0xbd40ba51
mov dword [esp + 0x1c], 0x46b848b1
mov dword [esp + 0x20], 0x3d35297d
mov dword [esp + 0x24], 0x20073cca
mov dword [esp + 0x28], 0xca3d30c0
mov dword [esp + 0x2c], 0xcfcf1a09
mov dword [esp + 0x30], 0xd52728ce
mov dword [esp + 0x34], 0x2d232005
mov word [esp + 0x38], 0x4b2f
mov dword [esp + 0x3a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x25
ja 0x3f686
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00042790
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x26
jb 0x3f660
mov ecx, dword [esp + 0x9c]
lea eax, [esp + 0x18]
push eax
call fcn.00041590
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edi, ebx
jmp dword [ecx*4 + 0x6263c]
jmp dword [0x626e4]
jmp dword [0x626ec]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x80]
call fcn.0005a530
add esp, 0xc
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x80]
call fcn.0005a530
add esp, 0xc
jmp dword [0x62620]
int3
jmp dword [0x62714]
push dword [esp + 0x48]
call fcn.0001cb10
add esp, 4
mov eax, dword [esp + 0x84]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xa8]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x6270c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + ecx + 0xc8]
mov edi, 0xfffffffe
nop
nop
nop
nop
mov eax, edi
cmp word [ecx + edi + 2], 0
lea edi, [edi + 2]
jne 0x3fad0
mov dword [esp + 0x4c], ecx
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x9c]
lea ecx, [edx + eax]
mov dword [esp + 0x88], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x3fb0b
mov eax, 0xffffffff
push eax
call fcn.0001cb00
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x48]
movzx eax, word [eax]
mov dword [esp + 0x8c], esi
test ax, ax
je 0x3fb51
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x3fb40
mov word [esi], 0x5c
mov dword [esp + 0x14], 0x1520760
mov dword [esp + 0x18], 0xd6f0371
mov dword [esp + 0x1c], 0x97a0f6f
mov dword [esp + 0x20], 0x15570b28
mov dword [esp + 0x24], 0x11751768
mov dword [esp + 0x28], 0x1d7d136c
mov word [esp + 0x2c], 0x1f1c
mov byte [ebp + 0x1c], 0
mov word [ebp + 0x1a], 0
add esi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1c
ja 0x3fbd6
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00042d40
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1d
jb 0x3fbb0
mov ecx, dword [esp + 0x4c]
movzx eax, word [ecx]
test ax, ax
je 0x3fc01
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x3fbf0
mov word [esi], 0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x3fc31
lea ecx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x3fc20
mov word [esi], 0
lea eax, [esp + 0x60]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x9c]
call fcn.0005a1e0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x6271c]
xor ebx, ebx
jmp dword [0x627dc]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x68]
call fcn.0005a530
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x62724]
jmp dword [0x62730]
jmp dword [0x627c0]
jmp dword [0x62804]
mov edi, dword [esp + 0x80]
jmp dword [0x62780]
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x6273c]
mov eax, dword [esp + 0x98]
mov byte [esi + eax], 0
jmp dword [0x62744]
push esi
call fcn.00013c20
add esp, 4
nop
nop
push esi
call fcn.00013c20
add esp, 4
jmp dword [0x62750]
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x62754]
mov dword [esp + 0xa4], esi
mov dword [esp + 0x80], edi
jmp dword [0x62760]
push ebx
call fcn.00014710
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x8875968b
mov dword [esp + 0x18], 0x9f829c9a
mov dword [esp + 0x1c], 0x909c8c42
mov dword [esp + 0x20], 0x879a8482
mov dword [esp + 0x24], 0x90659595
mov word [esp + 0x28], 0x8c99
mov byte [esp + 0x2a], 2
mov byte [ebp + 0x1b], 0
mov dword [ebp + 0x17], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x3fdc6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00042dc0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x3fda0
push ebp
push edi
call fcn.00014ad0
add esp, 8
mov ecx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x3fde0
shr edx, 2
mov esi, ecx
mov dword [esp + 8], ecx
movzx ecx, byte [eax + ecx - 1]
cmp ecx, 0x3d
je 0x3fe05
cmp ecx, 0x2e
jne 0x3fe06
dec edx
mov ecx, dword [esp + 8]
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x50], eax
mov dword [esp + 0x90], ebx
je 0x3fe24
cmp ecx, 0x2e
jne 0x3fe25
dec edx
mov eax, edx
and eax, 1
mov dword [esp + 0x94], edx
mov ecx, edx
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 8], 0
je 0x3ff2c
xor esi, esi
mov ebp, 2
jmp 0x3fe74
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
mov esi, edi
cmp ebp, ecx
mov ebp, eax
jae 0x3ff2c
mov edi, dword [esp + 0x50]
movzx eax, byte [edi + ebp - 2]
push eax
call fcn.00032950
add esp, 4
mov ebx, eax
movzx eax, byte [edi + ebp - 1]
push eax
call fcn.00032950
mov ecx, dword [esp + 0xc]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [esi + 1]
mov edx, dword [esp + 0x10]
mov byte [edx + esi], ah
cmp ebp, ecx
jae 0x3fe60
mov byte [esp + 0x54], al
movzx eax, byte [edi + ebp]
push eax
call fcn.00032950
mov ecx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x3fe62
movzx edx, byte [esp + 0x54]
shl dl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, dl
lea edi, [esi + 2]
mov edx, dword [esp + 0x10]
mov byte [edx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, ecx
jae 0x3fe62
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00032950
mov ecx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x3fe62
shl bl, 6
add al, bl
mov edx, dword [esp + 0x10]
mov byte [edx + esi + 2], al
add esi, 3
mov edi, esi
jmp 0x3fe62
mov eax, dword [esp + 0x94]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
push 0x6c625980
push dword [0x65f7c]
call fcn.00059780
add esp, 8
lea ecx, [esp + 0x58]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebp, [esp + 0x14]
mov ebx, dword [esp + 0x90]
jmp case.0x3e506.141
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov dword [esp], eax
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 4], eax
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
push 0x6c625980
push dword [0x65f7c]
call fcn.00059780
add esp, 8
lea ecx, [esp + 0x58]
mov edx, esp
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
lea ebp, [esp + 0x14]
mov ebx, dword [esp + 0x90]
jmp dword [0x62768]
push ebx
call fcn.00014710
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x8875968b
mov dword [esp + 0x18], 0x9f829c9a
mov dword [esp + 0x1c], 0x909c8c42
mov dword [esp + 0x20], 0x879a8482
mov dword [esp + 0x24], 0x90659595
mov word [esp + 0x28], 0x8c99
mov byte [esp + 0x2a], 2
mov byte [ebp + 0x1b], 0
mov dword [ebp + 0x17], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x1b
ja 0x4007b
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0xc]
push eax
call fcn.00042dc0
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x1c
jb 0x40050
push ebp
push edi
call fcn.00014ad0
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x40090
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x400b1
cmp ecx, 0x2e
jne 0x400b2
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x54], eax
mov dword [esp + 8], edx
mov dword [esp + 0x90], ebx
je 0x400d0
cmp ecx, 0x2e
jne 0x400d1
dec esi
mov dword [esp + 0xac], esi
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 8], 0
je 0x3ff90
xor esi, esi
mov edi, 2
jmp 0x40114
mov ebp, ebx
lea eax, [edi + 4]
add edi, 2
mov esi, ebp
cmp edi, edx
mov edi, eax
jae 0x3ff90
mov ebp, dword [esp + 0x54]
movzx eax, byte [ebp + edi - 2]
push eax
call fcn.00032950
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + edi - 1]
push eax
call fcn.00032950
mov edx, dword [esp + 0xc]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [esi + 1]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], esi
mov byte [ecx + esi], ah
cmp edi, edx
jae 0x40100
mov byte [esp + 0x94], al
movzx eax, byte [ebp + edi]
push eax
call fcn.00032950
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x40102
movzx ecx, byte [esp + 0x94]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov esi, dword [esp + 0x50]
lea ebp, [esi + 2]
mov ecx, dword [esp + 0x10]
mov byte [ecx + esi + 1], al
lea eax, [edi + 1]
cmp eax, edx
jae 0x40102
mov eax, dword [esp + 0x54]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00032950
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x40102
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x50]
mov byte [ecx + esi + 2], al
add esi, 3
mov ebp, esi
jmp 0x40102
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0xa4]
jmp dword [ecx*4 + 0x6276c]
lea eax, [edi + 0x10]
cmp dword [esp + 0x88], 0xfffffff8
jge 0x40215
mov eax, 0xffffffff
push eax
call fcn.0001cb00
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x31da3f0d
mov dword [esp + 0x18], 0x350c33c0
mov dword [esp + 0x1c], 0xc9be37c0
mov dword [esp + 0x20], 0xcdcacb3c
mov byte [esp + 0x24], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 0x10
ja 0x4028b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 0xc]
push eax
call fcn.00042e50
add esp, 8
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 0x11
jb 0x40260
mov eax, dword [esp + 0x4c]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x402c1
mov eax, dword [esp + 0x4c]
lea edx, [eax + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x402b0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x402f1
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x402e0
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp + 0x58]
push dword [esp + 0x60]
push edi
call fcn.0001d690
mov dword [esp + 8], eax
jmp dword [0x62774]
push edi
call fcn.0001cb10
add esp, 4
mov edi, dword [esp + 0x80]
jmp dword [0x62780]
push 0xe050b307
push dword [0x65f64]
call fcn.00059780
add esp, 8
push dword [esp + 0x5c]
call eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0xe050b307
push dword [0x65f64]
call fcn.00059780
add esp, 8
push dword [esp + 0x5c]
call eax
jmp dword [0x62788]
jmp dword [0x6279c]
jmp dword [0x627a4]
push ebx
call fcn.00014cc0
add esp, 4
mov eax, dword [case.0x3e506.132]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x627d4]
push esi
call fcn.0001cb10
add esp, 4
mov ebx, edi
mov esi, dword [esp + 0x60]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x403e9
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax]
push dword [esp + 0x14]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x403c0
mov eax, dword [0x65f70]
test eax, eax
je 0x40420
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x40410
inc edx
cmp eax, edx
jne 0x40400
jmp 0x40420
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x40782
nop
nop
nop
nop
mov edi, ebx
mov ebx, dword [esp + 8]
jmp dword [0x627dc]
push dword [esp + 0x8c]
call fcn.0001cb10
add esp, 4
nop
nop
nop
nop
nop
jmp dword [0x627ec]
movzx eax, bl
jmp dword [eax*4 + 0x627f4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0x88]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x40476
mov eax, 0xffffffff
push eax
call fcn.0001cb00
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x48]
movzx eax, word [eax]
mov esi, ebx
test ax, ax
je 0x404b1
mov ecx, dword [esp + 0xa0]
mov esi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404a0
mov word [esi], 0x5c
mov dword [esp + 0x14], 0x895e8b28
mov dword [esp + 0x18], 0x853b8739
mov dword [esp + 0x1c], 0x8136833b
mov dword [esp + 0x20], 0x9d339f60
mov dword [esp + 0x24], 0x992b9b10
mov dword [esp + 0x28], 0x95299716
mov dword [esp + 0x2c], 0x9129932d
mov dword [esp + 0x30], 0x6dda6f34
mov dword [esp + 0x34], 0x69e06bd7
mov dword [esp + 0x38], 0x65d267d3
mov dword [esp + 0x3c], 0x61dc63d8
mov word [esp + 0x40], 0x7f60
mov byte [ebp + 0x32], 0
mov dword [ebp + 0x2e], 0
add esi, 2
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x32
ja 0x40566
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00042ed0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x33
jb 0x40540
mov ecx, dword [esp + 0x4c]
movzx eax, word [ecx]
test ax, ax
je 0x40591
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40580
mov word [esi], 0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x405c1
lea ecx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], ax
add esi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x405b0
mov word [esi], 0
add edi, 0x12
cmp dword [esp + 0x88], 0xfffffff7
jge 0x405d8
mov edi, 0xffffffff
push edi
call fcn.0001cb00
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x936691a7
mov dword [esp + 0x18], 0xaf20ad51
mov dword [esp + 0x1c], 0xab5ea955
mov dword [esp + 0x20], 0xa744a558
mov word [esp + 0x24], 0xa1a0
mov byte [ebp + 0x14], 0
mov word [ebp + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x14
ja 0x40656
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00042f40
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x15
jb 0x40630
mov edx, dword [esp + 0x4c]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x40681
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40670
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x406b1
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x406a0
mov word [eax], 0
mov dword [esp + 0x14], 0x898a8b7a
mov byte [ebp + 6], 0
mov word [ebp + 4], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x40706
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00042fb0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x406e0
push 0
push 0
push 0
push 0xc00000
push ebp
push ebx
push edi
push dword [esp + 0x114]
call fcn.00035f70
add esp, 0x20
mov ecx, dword [esp + 0x84]
and cl, 1
or cl, al
mov dword [esp + 0x84], ecx
jmp dword [0x627fc]
push edi
call fcn.0001cb10
add esp, 4
jmp dword [0x62804]
jmp dword [0x6280c]
push ebx
call fcn.0001cb10
add esp, 4
nop
nop
nop
nop
nop
nop
push ebx
call fcn.0001cb10
add esp, 4
jmp dword [0x62818]
mov eax, dword [case.0x3e506.178]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
mov edi, ebx
mov ebx, dword [esp + 8]
jmp dword [0x627dc]
push dword [esp + 0x10]
call fcn.0001cb10
add esp, 4
push dword [esp + 0x10]
call fcn.0001cb10
add esp, 4
jmp dword [0x627b0]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x6c]
call fcn.0005a610
add esp, 0x10
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x6c]
call fcn.0005a610
add esp, 0x10
jmp dword [0x62738]
xor eax, eax
jmp dword [0x62914]
push ebp
mov esi, eax
call fcn.0001cb10
mov eax, esi
add esp, 4
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
lea esi, [esp + 0x6c]
jmp dword [0x62838]
push 0
push esi
push dword [esp + 0x20]
call fcn.0005a530
add esp, 0xc
push 0
push esi
push dword [esp + 0x20]
call fcn.0005a530
add esp, 0xc
jmp dword [0x6283c]
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x62844]
jmp dword [0x6284c]
mov esi, dword [esp + 0x6c]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0005a610
add esp, 0x10
nop
mov esi, dword [esp + 0x6c]
lea eax, [esi + 1]
push eax
call fcn.0001cb00
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x24]
call fcn.0005a610
add esp, 0x10
jmp dword [0x62854]
mov dword [esp + 0x70], edi
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x6285c]
jmp dword [0x6290c]
push dword [esp + 0x70]
call fcn.0001cb10
add esp, 4
mov esi, dword [esp + 0x18]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp eax, 3
ja 0x40b39
nop
nop
mov eax, dword [esp + 0x24]
movzx eax, byte [esp + eax]
push dword [esp + 0x24]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx], al
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, 4
jb 0x40b10
mov eax, dword [0x65f70]
test eax, eax
je 0x40b6c
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x40b60
inc edx
cmp eax, edx
jne 0x40b50
jmp 0x40b6c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x4111b
mov eax, dword [esp + 0xc]
and al, 1
jmp dword [0x62914]
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov byte [edi + eax], 0
mov dword [esp + 0xc], 0
nop
nop
nop
nop
mov dword [esp + 0x24], 0xdec6d8de
mov dword [esp + 0x28], 0xd2cbdcca
mov word [esp + 0x2c], 0x9bbd
mov byte [esp + 0x2e], 0x7a
lea eax, [esp + 0x2f]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x40bf6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x24]
push dword [esp]
push eax
call fcn.00043130
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x40bd0
movzx ecx, byte [esp + 0x24]
test cl, cl
je 0x40c40
lea eax, [esp + 0x24]
mov esi, edi
jmp 0x40c17
movzx ecx, byte [eax]
test cl, cl
je 0x40c52
movzx edx, byte [edi]
test dl, dl
je 0x40c50
inc edi
inc eax
lea ebx, [esi + 1]
cmp dl, cl
je 0x40c2b
mov esi, ebx
mov edi, ebx
je 0x40c10
lea eax, [esp + 0x24]
jmp 0x40c10
mov esi, edi
jmp 0x40c52
xor esi, esi
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x62864]
lea edi, [esi + 0xa]
movzx eax, byte [esi + 0xa]
xor edx, edx
test al, al
je 0x40c82
mov ecx, edi
nop
cmp al, 0x22
je 0x40c80
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x40c70
jmp 0x40c82
mov edx, ecx
mov ebx, edx
sub ebx, edi
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x6286c]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x62874]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x6287c]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x62884]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x6288c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x78], ebp
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x40ceb
mov eax, 0xffffffff
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 0x24], 0
lea edx, [eax + ebx*2]
mov ecx, eax
mov dword [esp + 8], eax
mov dword [esp + 0x68], edx
cmp eax, edx
mov dword [esp + 0x1c], ebx
jae 0x40d6c
mov ecx, dword [esp + 8]
cmp edi, dword [esp + 0x10]
jae 0x40d6c
mov ecx, dword [esp + 8]
mov ebp, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp], 0
je 0x40d6c
lea eax, [esp + 0x24]
push eax
mov ebx, dword [esp + 0x14]
push ebx
push ebp
mov dword [esp + 0x10], ecx
call fcn.00021600
add esp, 0xc
movzx ecx, word [esp + 0x24]
mov edx, dword [esp + 4]
mov word [edx], cx
mov ecx, dword [esp + 4]
add ecx, 2
cmp ecx, dword [esp + 0x68]
jae 0x40d6c
add ebp, eax
cmp ebp, ebx
jb 0x40d30
mov word [ecx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x18]
call fcn.0005a1e0
add esp, 0x14
not eax
shr eax, 0x1f
mov ebp, dword [esp + 0x78]
lea ebx, [esp + 0x20]
jmp dword [eax*4 + 0x628a4]
mov ebx, dword [esp + 0x10]
mov edi, ebx
mov esi, dword [esp + 8]
jmp dword [0x628f4]
jmp dword [0x628b0]
push 0
push ebx
push dword [esp + 0x1c]
call fcn.0005a530
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push 0
push ebx
push dword [esp + 0x1c]
call fcn.0005a530
add esp, 0xc
jmp dword [0x628b8]
mov edx, dword [esp + 0x20]
test eax, eax
setns al
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x628bc]
mov dword [esp + 4], edx
jmp dword [0x628c4]
mov ebx, edx
jmp 0x410e4
push ebx
call fcn.0001cb10
add esp, 4
mov esi, dword [esp + 0x14]
mov dword [esp], 0x2c2d2e2f
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp eax, 3
mov ebx, dword [esp + 0x10]
ja 0x40e69
nop
nop
nop
mov eax, dword [esp + 0x24]
movzx eax, byte [esp + eax]
push dword [esp + 0x24]
push eax
call fcn.00042870
add esp, 8
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx], al
inc dword [esp + 0x24]
mov eax, dword [esp + 0x24]
cmp eax, 4
jb 0x40e40
mov eax, dword [0x65f70]
test eax, eax
je 0x40e98
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x65f74]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x40e90
inc edx
cmp eax, edx
jne 0x40e80
jmp 0x40e98
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x40ed1
mov edi, ebx
mov esi, dword [esp + 8]
jmp dword [0x628f4]
jmp dword [0x628fc]
push esi
call fcn.0001cb10
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0001cb10
add esp, 4
mov edi, ebx
jmp dword [0x62908]
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
mov edi, ebx
mov esi, dword [esp + 8]
jmp dword [0x628f4]
mov dword [esp + 0x68], ebx
xor edx, edx
mov ecx, dword [esp + 8]
jmp 0x40f08
add ecx, 2
test bx, bx
je 0x40f19
mov eax, edx
movzx ebx, word [ecx]
mov edx, ecx
cmp bx, 0x5c
je 0x40f00
mov edx, eax
jmp 0x40f00
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x628dc]
xor ebx, ebx
xor eax, eax
jmp 0x40f43
sub eax, dword [esp + 8]
mov ebx, eax
sar ebx, 1
and eax, 2
xor ebx, 1
add ebx, eax
mov eax, dword [esp + 0x1c]
sub eax, ebx
add eax, 0x1b
push eax
call fcn.0001cb00
add esp, 4
mov dword [esp + 4], eax
sub dword [esp + 0x1c], ebx
mov dword [esp + 0x24], 0x6c526c09
mov dword [esp + 0x28], 0x69675156
mov dword [esp + 0x2c], 0x620c295c
mov dword [esp + 0x30], 0x205d6860
mov dword [esp + 0x34], 0x16261e7e
mov dword [esp + 0x38], 0x5c121424
mov word [esp + 0x3c], 0x5653
mov byte [esp + 0x3e], 0xba
mov dword [esp + 0x3f], 0
mov dword [esp + 0x74], ebx
add edi, ebx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1e
ja 0x40fd6
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x24]
push dword [esp]
push eax
call fcn.000431b0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x24], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1f
jb 0x40fb0
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 4]
test cl, cl
je 0x40ffb
lea edx, [esp + 0x25]
mov eax, dword [esp + 4]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x40ff0
mov byte [eax], 0
mov ebx, dword [esp + 0x1c]
test ebx, ebx
mov edx, dword [esp + 0x74]
je 0x4103b
add edx, esi
mov ecx, dword [esp + 0x10]
sub ecx, edx
add ecx, 0xfffffff5
mov esi, ebx
and esi, 3
je 0x41043
xor edx, edx
movzx ebx, byte [edi]
cmp bl, 1
sbb edi, 0xffffffff
mov byte [eax + edx], bl
inc edx
cmp esi, edx
jne 0x4101e
add eax, edx
mov ebx, dword [esp + 0x1c]
sub ebx, edx
mov edx, eax
jmp 0x41043
mov edx, eax
mov esi, dword [esp + 4]
jmp 0x41085
cmp ecx, 3
mov esi, dword [esp + 4]
jb 0x41085
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], cl
mov eax, edx
add ebx, 0xfffffffc
jne 0x4104c
mov byte [edx], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x20]
mov ebx, dword [esp + 0x6c]
push ebx
push esi
call fcn.0001d7c0
mov ecx, dword [esp + 0xc]
and cl, 1
or cl, al
mov dword [esp + 0xc], ecx
jmp dword [0x628e4]
push esi
call fcn.0001cb10
add esp, 4
jmp dword [0x628ec]
push edx
call fcn.0001cb00
add esp, 4
push 0
push dword [esp + 0x24]
push eax
push dword [esp + 0x20]
call fcn.0005a610
mov edx, dword [esp + 0x14]
add esp, 0x10
mov ebx, dword [esp + 0x20]
push edx
call fcn.0001cb00
add esp, 4
push 0
push ebx
mov ebx, eax
push eax
push dword [esp + 0x20]
call fcn.0005a610
mov edx, dword [esp + 0x14]
add esp, 0x10
jmp dword [0x628d0]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x628d4]
jmp dword [0x628ec]
push esi
push 1
push dword [0x65f78]
push eax
call fcn.00056bb0
add esp, 0x10
mov eax, dword [esp + 0xc]
and al, 1
jmp dword [0x62914]
fld qword [ebx]
add byte [edi - 0x22], cl
add eax, dword [eax]
cmpsd dword [esi], dword es:[edi]
fild word [ebx]
add byte [edx - 0x38fffc21], bh
loopne 0x624a2
add al, dl
loopne 0x624a6
add eax, dword [eax]
invalid
add ah, al
fild word [ebx]
add bh, al
loopne 0x624ae
add eax, dword [eax]
invalid
add dl, dl
fild word [ebx]
add bl, bl
fild word [ebx]
add byte [ebx - 0x20], dl
add eax, dword [eax]
pop ebp
loopne 402622
add eax, dword [eax]
fcmovnu st(0), st(7)
add eax, dword [eax]
push ebx
loopne 402618
add byte [ebp - 0x20], bl
add eax, dword [eax]
invalid
add byte [edi - 0x50fffc1f], cl
add eax, dword [eax]
scasd eax, dword es:[edi]
loope 0x624c6
add byte [eax - 0x6afffc1f], ah
add eax, dword [eax]
xchg ebp, eax
loope 0x624ce
add byte [edi - 0x5ffffc1f], ch
loope 0x624d6
add eax, dword [eax]
mov al, byte [0xc00003e1]
add al, al
loope 0x624da
add eax, dword [eax]
shl cl, 3
add al, al
loope 0x624de
add eax, dword [eax]
ret 0x3e1
add dl, al
loope 0x624e2
add eax, dword [eax]
shl cl, 3
add al, al
loope 0x624e6
add eax, dword [eax]
jo 0x624cb
add byte [eax - 0x1b], dh
add eax, dword [eax]
xor dl, ah
add eax, dword [eax]
jo 0x624d3
add eax, dword [eax]
jo 0x624d7
add eax, dword [eax]
jo 0x624db
add eax, dword [eax]
jbe 0x624df
add eax, dword [eax]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
test byte [ebx], 0
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bl, dh
test byte [ebx], 0
add dword [eax], eax
add byte [eax], al
cmp al, 0xe3
jecxz 402706
add byte [edx], ah
invalid
jecxz 0x62512
add byte [edx], ah
in eax, 3
add byte [eax], dh
in al, 3
add byte [edx - 0x1d], dh
add eax, dword [eax]
xor ah, ah
add eax, dword [eax]
jb 0x624fd
add eax, dword [eax]
xor ah, ah
add eax, dword [eax]
push ss
in al, 3
add byte [esi], bl
in al, 3
add byte [eax], dh
in al, 3
add ah, al
in al, 3
add byte [eax], dl
in eax, 3
add cl, ah
in al, 3
add ch, ah
in al, 3
add byte [eax], ah
in eax, 3
add byte [eax], ah
in eax, 3
add byte [eax], ah
in eax, 3
add byte [edx], ah
in eax, 3
add byte [ecx], dh
in eax, 3
add byte [eax - 0x1b], al
add eax, dword [eax]
jbe 0x6253b
add eax, dword [eax]
push eax
in eax, 3
add byte [esi - 0x1b], dh
add eax, dword [eax]
push eax
in eax, 3
add byte [eax - 0x1b], dl
add eax, dword [eax]
push eax
in eax, 3
add byte [eax - 0x1b], dl
add eax, dword [eax]
push esi
in eax, 3
add byte [ebp - 0x1a56fffd], al
add eax, dword [eax]
mov esp, 0xd50003e6
out 3, al
add byte [edi - 0x191afffd], dh
add eax, dword [eax]
mov al, byte [0x8c0003e7]
out 3, eax
add byte [edi - 0x185ffffd], dh
add eax, dword [eax]
xlatb
out 3, eax
add byte [ebx], al
call 0xebfd25a9
add eax, dword [eax]
sub eax, 0xe80003e8
jmp 402866
add eax, dword [eax]
jmp 0xe8c825bd
jmp 0xe99625c5
out dx, al
add eax, dword [eax]
int1
out dx, eax
add eax, dword [eax]
mov ebx, 0xd40003f6
test byte [ebx], 0
mov ebx, 0x310003f6
cmc
add eax, dword [eax]
adc esp, esi
add eax, dword [eax]
inc edi
cmc
add eax, dword [eax]
mov ch, 0xf6
add eax, dword [eax]
mov dh, ch
add eax, dword [eax]
scasd eax, dword es:[edi]
test byte [ebx], 0
cmc
add eax, dword [eax]
scasd eax, dword es:[edi]
test byte [ebx], 0
hlt
add byte [eax + 0x1e0003f0], dh
lock add eax, dword [eax]
push ds
add byte [esi], bl
int1
add eax, dword [eax]
inc ebx
add eax, dword [eax]
add byte [ebx - 0xe], al
add eax, dword [eax]
add al, ah
int1
loopne 0x6267b
add eax, dword [eax]
loopne 0x6267f
add al, ah
int1
add eax, dword [eax]
loopne 0x62683
add eax, dword [eax]
loopne 0x62687
add eax, dword [eax]
loop 0x6268b
add eax, dword [eax]
or esi, edx
add eax, dword [eax]
sbb edx, esi
add eax, dword [eax]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
or esi, edx
add eax, dword [eax]
inc ebx
add eax, dword [eax]
xor dl, dh
add eax, dword [eax]
xor dl, dh
add eax, dword [eax]
xor dl, dh
add eax, dword [eax]
xor dl, dh
add eax, dword [eax]
xor dh, dl
add eax, dword [eax]
pop esp
add eax, dword [eax]
insd dword es:[edi], dx
add eax, dword [eax]
jmp 0xef062acb
or al, 4
add byte [eax - 0x5afffbf5], dl
or al, 4
add byte [eax - 0x4afffbf5], dl
or al, 4
add byte [eax - 0x3afffbf5], dl
or al, 4
add byte [eax - 0x2afffbf5], dl
or al, 4
add byte [eax + 0x100040b], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0xd], dh
add al, 0
add dword [eax], eax
add byte [eax], al
lahf
or eax, 229572612
add al, 0
mov ch, 0xd
add al, 0
ror byte [0xdd00004], 1
add al, 0
in eax, 0xd
add al, 0
sbb eax, 0x300040e
push cs
add al, 0
or eax, 0xc000040e
adc byte [eax + eax], al
rcl byte [eax], 4
add byte [ecx], cl
adc dword [eax + eax], eax
adc eax, 0xef000411
push cs
add al, 0
daa
invalid