Function at 0x424196
Capabilities:
Copy file
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.004238a0
add esp, 4
test al, al
je 0x423ec0
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe8
mov dword [esp + 0x34], 0x7ae7783e
mov dword [esp + 0x38], 0x7ee97ce8
mov dword [esp + 0x3c], 0x72ed70de
mov dword [esp + 0x40], 0x76c574ef
mov dword [esp + 0x44], 0x6afd68d6
mov dword [esp + 0x48], 0x6e6d6cf3
mov eax, 0x7f
mov ecx, 0x80
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x4b]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 8
mov byte [esp + eax - 0x4b], dl
inc eax
dec ecx
cmp eax, 0x97
jne 0x423f10
mov dword [esp + 0x72], 0x702d7ed1
mov dword [esp + 0x76], 0x74347234
mov dword [esp + 0x7a], 0x4824762c
mov dword [esp + 0x7e], 0x4c194a1d
mov dword [esp + 0x82], 0x40e34ee4
mov dword [esp + 0x86], 0x4402421c
mov dword [esp + 0x8a], 0x581f4606
mov dword [esp + 0x8e], 0x5c055a00
mov dword [esp + 0x92], 0x50f35e18
mov dword [esp + 0x96], 0x540c5202
mov dword [esp + 0x9a], 0xa8035613
mov dword [esp + 0x9e], 0xaceaaafe
mov dword [esp + 0xa2], 0xa0eaaeff
mov dword [esp + 0xa6], 0xa4f5a20d
mov dword [esp + 0xaa], 0xb81ba604
mov dword [esp + 0xae], 0xbc1eba0f
mov dword [esp + 0xb2], 0xb0ecbe11
mov dword [esp + 0xb6], 0xb416b205
mov dword [esp + 0xba], 0x880ab614
mov word [esp + 0xbe], 0x8a89
xor eax, eax
nop
nop
mov ecx, eax
add cl, 0xd5
xor cl, byte [esp + eax + 0x72]
add cl, 0x58
mov byte [esp + eax + 0x72], cl
inc eax
cmp eax, 0x4e
jne case.default.0x424031
lea esi, [esp + 0x34]
lea eax, [esp + 0x72]
push esi
push eax
call fcn.00433f60
add esp, 8
mov edi, eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x43fdec]
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x424040
sub eax, edi
cmp eax, 0xffffffd9
jge 0x424060
mov eax, 0xffffffff
jmp 0x424063
xor eax, eax
jmp 0x4248c3
add eax, 0x26
push eax
call fcn.004082c0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x72], 0xa646a44f
mov dword [esp + 0x76], 0x5ac75838
mov dword [esp + 0x7a], 0x5ec45cbd
mov dword [esp + 0x7e], 0x52bd50b8
mov dword [esp + 0x82], 0x56ca54b0
mov dword [esp + 0x86], 0x4aaf48c9
mov dword [esp + 0x8a], 0x4eaa4cd2
mov dword [esp + 0x8e], 0x42d74091
mov dword [esp + 0x92], 0x46a344a7
mov word [esp + 0x96], 0x7847
mov eax, 0xf570af7b
mov ecx, 0xa8f5084
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax + 0xa8f50f7]
mov ebp, eax
and ebp, 0x12
mov edx, ecx
and edx, 0xed
or edx, ebp
xor edx, eax
xor edx, 0x12
and edx, ebx
xor edx, eax
add dl, 0x28
mov byte [esp + eax + 0xa8f50f7], dl
inc eax
dec ecx
cmp eax, 0xf570afa1
jne 0x4240e0
movzx ecx, word [edi]
mov ebp, dword [esp + 0x10]
mov eax, ebp
test cx, cx
je 0x424141
mov edx, edi
add edx, 2
mov eax, ebp
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 0x424130
mov word [eax], 0
movzx ecx, word [esp + 0x72]
test cx, cx
je 0x424171
lea edx, [esp + 0x74]
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 0x424160
mov word [eax], 0
jmp dword [0x43fdf4]
push edi
call fcn.004082d0
add esp, 4
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x43fdfc]
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x43fdfc]
mov dword [esp + 0x72], 0xe3d8e1a3
mov dword [esp + 0x76], 0xe785e5b8
mov dword [esp + 0x7a], 0xeb84e987
mov dword [esp + 0x7e], 0xef87ed8a
mov dword [esp + 0x82], 0xf3aef197
mov dword [esp + 0x86], 0xf799f597
mov dword [esp + 0x8a], 0xfb9cf996
mov dword [esp + 0x8e], 0xff99fd95
mov dword [esp + 0x92], 0x374012e
mov dword [esp + 0x96], 0x7600560
mov word [esp + 0x9a], 0x908
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x72]
lea ecx, [eax + 0x7d7092e0]
xor ecx, edx
mov edx, ecx
xor edx, 1
and ecx, 0x7e
add ecx, ecx
sub ecx, edx
inc cl
mov byte [esp + eax + 0x72], cl
mov ecx, eax
xor ecx, 0x7ffffffe
mov edx, eax
or edx, 1
and edx, ecx
xor eax, 1
lea eax, [eax + edx*2]
cmp eax, 0x2a
jb case.default.0x42427f
push 0
lea eax, [esp + 0x76]
push eax
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push esi
push ebp
call fcn.00438c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fe04]
xor esi, esi
mov eax, dword [case.0x42500b.16]
xor ebx, ebx
jmp case.0x42500b.14
lea eax, [esp + 0xd0]
push 0
push eax
push dword [esp + 0x3c]
call fcn.00438f30
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x43fe0c]
mov esi, dword [esp + 0xd0]
lea eax, [esi + 1]
push eax
call fcn.004082c0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x40]
call fcn.00438fc0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x43fe14]
mov esi, dword [esp + 0xd0]
mov byte [edi + esi], 0
push 0x20
call fcn.004082c0
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 + 0xc], eax
mov ecx, eax
push esi
mov dword [esp + 0x28], edi
push edi
call fcn.00426850
movzx eax, al
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x43fe1c]
mov dword [esp + 0x72], 0xb586908d
mov dword [esp + 0x76], 0x80b682b5
mov dword [esp + 0x7a], 0x858991c9
mov dword [esp + 0x7e], 0x9ec38ebc
mov dword [esp + 0x82], 0xbcb18aba
mov dword [esp + 0x86], 0xb6b7d2fd
mov dword [esp + 0x8a], 0x8db682b9
mov word [esp + 0x8e], 0x1b89
mov eax, 0x3d390b4e
mov ecx, 0xb1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x3d390adc]
mov esi, edx
not esi
mov edi, ecx
or edi, esi
lea ebx, [edx + edi]
add edx, edi
inc edx
and esi, eax
mov edi, esi
not edi
and edi, edx
xor esi, edx
lea edx, [esi + ebx]
inc edx
sub edx, edi
mov esi, edx
and esi, 0x8d
mov edi, edx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
lea edi, [edx + edx]
and edi, 0x1e
sub edx, edi
add edx, ebx
add edx, esi
add dl, 0x90
mov byte [esp + eax - 0x3d390adc], dl
inc eax
dec ecx
cmp eax, 0x3d390b6c
jne 0x4243b0
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x72]
push eax
call fcn.00426a90
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor edx, edx
jmp dword [ecx*4 + 0x43fe24]
mov ebx, edx
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
jmp dword [0x43fe44]
mov ecx, dword [esp + 0xc]
call fcn.00426c10
push dword [esp + 0xc]
call fcn.004082d0
add esp, 4
mov eax, dword [case.0x42500b.11]
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43fe5c]
push edi
call fcn.004082d0
add esp, 4
mov edi, esi
mov ecx, dword [0x444ab8]
test ecx, ecx
je 0x4244bb
mov eax, dword [esp + 0x34]
xor edx, edx
mov esi, dword [0x444abc]
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0xb430e561
je 0x4244a0
inc edx
cmp ecx, edx
jne 0x424490
jmp 0x4244bb
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x4244bb
push eax
push 4
push ecx
push dword [0x444ac0]
call fcn.00436ff0
add esp, 0x10
mov eax, dword [case.0x42500b.16]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43fe74]
push ebp
call fcn.004082d0
add esp, 4
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x43fe7c]
xor eax, eax
test esi, esi
jne 0x42488e
jmp 0x4248c3
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x43fe7c]
mov dword [esp + 4], esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x34], 0x7bb6795d
mov dword [esp + 0x38], 0x7f9d7d93
mov dword [esp + 0x3c], 0x3ee01e1
mov dword [esp + 0x40], 0x7f605c5
mov dword [esp + 0x44], 0xbce09f8
mov dword [esp + 0x48], 0xffa0ded
mov dword [esp + 0x4c], 0x133711f1
mov dword [esp + 0x50], 0x17c515c8
mov dword [esp + 0x54], 0x1bff19ec
mov dword [esp + 0x58], 0x1ff31dfd
mov dword [esp + 0x5c], 0x23ce21fc
mov dword [esp + 0x60], 0x27c525cb
mov dword [esp + 0x64], 0x2bc629c9
mov dword [esp + 0x68], 0x2fd82d02
mov dword [esp + 0x6c], 0x33d431d4
lea eax, [esp + 0x70]
mov dword [esp], eax
mov word [esp + 0x70], 0x3534
mov ecx, 0xcbfc0db9
mov eax, 0x3403f247
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 0x3403f27b]
mov ebp, ebx
xor ebp, 0x3cc7594f
mov esi, ebx
or esi, 0xb0
and ebp, esi
mov edi, eax
and edi, 0x3403504f
or ebx, 0x30
and ebx, 0x7f
xor ebx, ebp
not esi
and esi, ebp
mov ebp, eax
or ebp, 0xc338a6b0
xor ebx, 0x7f
or esi, ebx
dec eax
mov edx, eax
sub edx, ebp
lea ebx, [ecx + ebp]
and edx, edi
xor ebx, edi
add ebx, edi
sub ebx, edx
xor ebx, esi
add bl, 0x40
mov byte [esp + ecx + 0x3403f27b], bl
inc ecx
cmp ecx, 0xcbfc0df7
jne 0x4245b0
lea eax, [esp + 0x34]
lea edx, [esp + 0x72]
mov edi, edx
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
mov ecx, 1
mov eax, dword [esp]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xdc]
push esi
push 0
push 0
push 0x1e
push edx
push 0
call dword [0x444ab4]
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
xor eax, eax
mov ebx, dword [esp + 0x14]
jmp dword [ecx*4 + 0x43fe84]
mov edi, dword [esp + 0xdc]
jmp dword [0x43fe8c]
test edi, edi
jns 0x42467d
mov eax, 0xffffffff
jmp 0x424680
lea eax, [edi + edi]
push eax
call fcn.004082c0
add esp, 4
push esi
push edi
push eax
push 0x1e
lea eax, [esp + 0x82]
push eax
push 0
call dword [0x444ab4]
jmp case.0x42500b.24
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov ebp, eax
push esi
push dword [esp + 0xe0]
push eax
push 0x1e
lea eax, [esp + 0x82]
push eax
push 0
call dword [0x444ab4]
jmp dword [0x43fe98]
test edi, edi
js 0x4246a0
lea eax, [edi + edi]
jmp 0x4246a5
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fe9c]
xor eax, eax
jmp dword [0x43fea4]
push ebp
call fcn.004082d0
add esp, 4
xor eax, eax
jmp case.0x42500b.23
mov esi, dword [esp + 4]
jmp dword [0x43feac]
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.00438c70
add esp, 0x14
nop
mov eax, esi
xor eax, ebx
mov ecx, esi
not ecx
and ecx, ebx
add ecx, ecx
sub ecx, eax
sar ecx, 3
imul eax, ecx, 0x421
push eax
call fcn.004082c0
add esp, 4
mov edi, eax
lea eax, [esp + 0x28]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.00438c70
add esp, 0x14
jmp dword [0x43feb8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43febc]
xor edx, edx
mov dword [esp + 8], edi
jmp dword [0x43ff94]
push ebp
mov ebp, edx
call fcn.004082d0
add esp, 4
mov edx, ebp
mov eax, edx
and al, 1
movzx ecx, al
mov eax, ebp
jmp dword [ecx*4 + 0x43ff9c]
mov dword [esp + 0x14], ebx
mov ebp, edi
mov dword [esp + 4], esi
mov eax, dword [esp + 8]
mov byte [eax], 0
mov dword [esp + 0x34], 0x81fcfbab
mov dword [esp + 0x38], 0x85f18c87
mov dword [esp + 0x3c], 0x86fafcfb
mov dword [esp + 0x40], 0xfc8ce439
mov dword [esp + 0x44], 0xe933f6fb
mov dword [esp + 0x48], 0xefe5f4f1
mov dword [esp + 0x4c], 0x9d902d91
mov word [esp + 0x50], 0x792
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
shr edi, 3
mov edx, ecx
not edx
mov ebx, ecx
and ebx, 0x7ffffff8
or ebx, 2
mov esi, ecx
shr esi, 1
and esi, 1
imul esi, ebx
movzx ebx, byte [esp + ecx + 0x34]
and edx, 2
imul edx, edi
mov edi, eax
and edi, 0x34
shl edx, 3
sub edx, edi
add edx, ecx
lea edx, [edx + esi*2]
add edx, 0x168e46ba
xor edx, ebx
add edx, 0x4b8dca2f
mov esi, edx
xor esi, 0x69
and edx, 0x16
add edx, edx
sub edx, esi
add dl, 0x6a
mov byte [esp + ecx + 0x34], dl
inc ecx
add eax, 2
cmp ecx, 0x1e
jne 0x4247f0
mov edi, ebp
mov eax, dword [esp + 8]
sub eax, ebp
mov ecx, dword [esp + 0xfc]
push eax
push ebp
lea eax, [esp + 0x3c]
push eax
call fcn.004091b0
mov ebx, dword [esp + 0x14]
jmp dword [0x43ffa4]
push edi
mov esi, eax
call fcn.004082d0
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [esp + 4]
test esi, esi
je 0x4248c3
cmp esi, ebx
je 0x4248c3
mov ebp, eax
mov edi, esi
jmp 0x4248a7
add esi, 8
cmp esi, ebx
je 0x4248b8
mov eax, dword [esi]
test eax, eax
je 0x4248a0
push eax
call fcn.004082d0
add esp, 4
jmp 0x4248a0
push edi
call fcn.004082d0
add esp, 4
mov eax, ebp
mov ecx, dword [case.0x424d57.36]
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0xd8]
push 0
push eax
push dword [esp + 0x30]
call fcn.00438f30
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
jmp dword [eax*4 + 0x43fec4]
mov esi, dword [esp + 0xd8]
lea eax, [esi + 1]
push eax
call fcn.004082c0
add esp, 4
push 0
push esi
mov dword [esp + 0x34], eax
push eax
push dword [esp + 0x34]
call fcn.00438fc0
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
mov dword [esp + 8], edi
jmp dword [eax*4 + 0x43fecc]
mov esi, dword [esp + 0xd8]
mov eax, dword [esp + 0x2c]
mov byte [eax + esi], 0
push 0x20
call fcn.004082c0
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 + 0xc0], eax
mov ecx, eax
push esi
push dword [esp + 0x30]
call fcn.00426850
movzx eax, al
mov dword [esp + 0xc], 0
mov dword [esp + 8], edi
jmp dword [eax*4 + 0x43fed4]
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], 0x81727c61
mov dword [esp + 0x38], 0x7c8a7681
mov dword [esp + 0x3c], 0x717d6d35
mov dword [esp + 0x40], 0x722f7a88
mov dword [esp + 0x44], 0x68656696
mov dword [esp + 0x48], 0x67674429
mov dword [esp + 0x4c], 0x996f6e64
mov dword [esp + 0x50], 0x59536e4d
mov word [esp + 0x54], 0x3357
mov eax, 0x9b6dccf1
movzx ecx, byte [esp + eax + 0x64923343]
lea esi, [eax + 0x64923311]
and esi, ecx
mov edi, esi
or edi, 0xfffffffd
inc edi
mov edx, esi
and edx, 0x7d
imul edx, edi
mov edi, esi
and edi, 2
or esi, 2
imul esi, edi
sub edx, esi
add ecx, eax
add edx, ecx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov byte [esp + eax + 0x64923343], cl
inc eax
cmp eax, 0x9b6dcd13
jne 0x4249ff
mov ecx, dword [esp + 0xc0]
lea eax, [esp + 0x34]
push eax
call fcn.00426a90
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0xc], 0
mov edi, dword [esp + 0x20]
mov dword [esp + 8], edi
mov dword [esp + 0xc4], ebp
jmp dword [ecx*4 + 0x43fedc]
add eax, 8
mov dword [esp + 0xc], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 8], edi
jmp dword [eax*4 + 0x43fee4]
mov esi, dword [ecx]
xor edx, edx
cmp dword [ecx + 0x18], 3
jne case.default.0x424abb
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x30], ecx
test esi, esi
setne al
test edx, edx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43feec]
mov eax, edx
mov edi, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne 0x424ad0
mov dword [esp + 0xe4], esi
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0xe0], ecx
lea eax, [ecx + 1]
push eax
call fcn.004082c0
add esp, 4
mov edx, eax
mov eax, dword [case.0x42500b.53]
mov ecx, dword [case.0x424b9b.51]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], edx
nop
nop
nop
nop
jmp eax
movsx ebx, byte [edi]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x43ff04]
mov esi, ebx
mov dword [esp], edi
inc edi
mov ecx, ebx
or ecx, 0x20
lea ebp, [ecx - 0x61]
cmp ebp, 5
ja case.default.0x424b5b
xor ecx, 0xffffff9e
and esi, 0xffffff9e
lea esi, [ecx + esi*2]
add esi, 0xb
mov dword [esp + 0x10], esi
movsx ecx, byte [edi]
test ecx, ecx
mov dword [esp + 0x1c], edi
mov ebx, 0
setne bl
mov edi, dword [esp + 0x1c]
jmp dword [ebx*4 + 0x43ff0c]
mov ecx, dword [esp + 0x10]
jmp dword [esp + 0x18]
mov ecx, esi
lea ecx, [esi - 0x30]
cmp ecx, 0xa
jb 0x424b7e
mov dword [esp + 0x10], 0xffffffff
jmp 0x424b8e
mov ecx, esi
xor ecx, 0x30
and esi, 0xffffffcf
add esi, esi
sub esi, ecx
mov dword [esp + 0x10], esi
movsx ecx, byte [edi]
test ecx, ecx
mov ebx, 0
setne bl
jmp dword [ebx*4 + 0x43ff0c]
mov ebx, dword [esp + 0x10]
shl ebx, 4
add dword [esp], 2
mov edi, ecx
or edi, 0x20
lea ebp, [edi - 0x61]
cmp ebp, 5
ja 0x424bcf
xor edi, 0xffffff9e
and ecx, 0xffffff9e
lea ecx, [edi + ecx*2]
add ecx, 0xb
or ecx, ebx
mov edi, dword [esp]
jmp dword [esp + 0x18]
lea edi, [ecx - 0x30]
cmp edi, 0xa
jb 0x424bde
mov ecx, 0xffffffff
jmp 0x424bea
mov edi, ecx
xor edi, 0x30
and ecx, 0xffffffcf
add ecx, ecx
sub ecx, edi
mov edi, dword [esp]
or ecx, ebx
jmp dword [esp + 0x18]
mov byte [edx], cl
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
jmp dword [0x43ff20]
inc edx
jmp case.0x424abb.2
mov byte [edx], 0
mov esi, dword [esp + 0xe4]
jmp 0x424c21
inc esi
movzx ecx, byte [esi]
movzx eax, cl
lea edx, [eax - 9]
cmp edx, 5
jb 0x424c20
cmp eax, 0x20
je 0x424c20
mov edx, ecx
add dl, 0xd5
xor eax, eax
test dl, 0xfd
sete al
lea edx, [esi + eax]
cmp byte [esi + eax], 0x30
jne 0x424c5f
movzx edx, byte [esi + eax + 1]
and dl, 0xdf
xor ebx, ebx
cmp dl, 0x58
sete bl
lea edx, [eax + ebx*2]
add edx, esi
mov dword [esp], edx
xor eax, eax
xor ebx, ebx
xor edi, edi
jmp 0x424c91
xor esi, esi
xor ebp, ebp
mov dword [esp + 0x18], 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x10], 0x22
add esi, dword [esp + 0x18]
adc ebp, edx
mov eax, dword [esp + 0x10]
mov ebx, esi
mov edi, ebp
mov edx, edi
mov dword [esp + 0x10], eax
mov edi, dword [esp]
movsx eax, byte [edi]
lea esi, [eax - 0x30]
cmp esi, 0xa
jb 0x424cbe
mov esi, eax
and esi, 0xffffffdf
add esi, 0xffffffbf
cmp esi, 0x19
ja 0x424d28
or al, 0x20
cmp al, 0x66
jg 0x424d28
movsx esi, al
add esi, 0xffffffa9
inc edi
mov dword [esp], edi
mov ebp, ebx
and ebp, edx
mov dword [esp + 0x18], edx
mov edx, ebx
mov ebx, 0xffffffff
mov eax, 0x22
mov edi, 0xffffffff
cmp ebp, 0xffffffff
je 0x424c91
mov eax, dword [esp + 0x18]
test eax, 0xf0000000
je 0x424cf9
mov eax, 0x22
test esi, esi
jne 0x424c91
jmp 0x424c6a
shld eax, edx, 4
shl edx, 4
mov ebp, esi
sar ebp, 0x1f
mov edi, esi
mov dword [esp + 0x18], edx
add edi, edx
mov edi, ebp
mov edx, eax
adc edi, eax
mov edi, 0xffffffff
mov eax, 0x22
jb 0x424c91
jmp 0x424c83
xor esi, esi
mov eax, ebx
neg eax
mov dword [esp], eax
mov eax, 0
sbb eax, edx
cmp cl, 0x2d
je case.default.0x424d57
mov dword [esp], ebx
mov eax, edx
mov ecx, dword [case.0x424d57.2]
xor edx, edx
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 4]
cmp edi, ebx
setne dl
jmp dword [edx*4 + 0x43ff24]
cmp dword [esp + 0x10], 0x22
setne dl
mov ebx, dword [edi + 4]
mov ebp, ebx
shr ebp, 0x1c
xor ebp, eax
shl ebx, 4
or ebx, 1
xor ebx, dword [esp]
or ebx, ebp
sete dh
and dh, dl
movzx ebx, dh
mov edx, 1
jmp dword [ebx*4 + 0x43ff2c]
mov esi, dword [edi]
xor edx, edx
jmp ecx
mov ebx, dword [esp + 0x14]
jmp dword [edx*4 + 0x43ff44]
add edi, 8
xor edx, edx
cmp edi, ebx
setne dl
jmp dword [edx*4 + 0x43ff24]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43ff4c]
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0xc4]
jmp dword [0x43ff5c]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x20]
mov ebp, dword [esp + 0xc4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x424e77
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
push 0x8b2600cb
push dword [0x444ac4]
call fcn.004385c0
add esp, 8
lea ecx, [esp + 0xc8]
lea edx, [esp + 0xd0]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x4c]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ff54]
jmp dword [0x43ff5c]
movzx eax, byte [esi]
test al, al
je 0x424e9d
inc esi
mov ecx, dword [esp + 8]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x424e90
jmp 0x424ea1
mov ecx, dword [esp + 8]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0xc8]
test esi, esi
je 0x424ee5
mov ecx, dword [esp + 0xcc]
mov edx, esi
and edx, 3
je 0x424ee9
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x424ec6
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
mov edi, dword [esp + 0x20]
jmp 0x424eeb
mov ebx, eax
jmp 0x424f2b
mov edx, esi
cmp esi, 4
jb 0x424f2b
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 esi, [eax + 4]
mov byte [eax + 3], bl
mov ebx, esi
mov eax, esi
add edx, 0xfffffffc
jne 0x424ef0
mov byte [ebx], 0xa
inc ebx
mov dword [esp + 8], ebx
push 0xd77a5d9a
push dword [0x443aac]
call fcn.004385c0
add esp, 8
push dword [esp + 0xcc]
call eax
mov al, 1
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x14]
jmp dword [0x43ff5c]
push dword [esp + 0x24]
call fcn.004082d0
add esp, 4
mov eax, dword [case.0x424abb.0]
jmp eax
mov ecx, dword [esp + 0x30]
add ecx, 4
mov eax, dword [case.0x424d57.22]
nop
nop
jmp eax
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x43fee4]
mov ecx, dword [esp + 0xc]
jmp dword [0x43ff84]
mov esi, dword [esp + 0xc0]
mov ecx, esi
call fcn.00426c10
push esi
call fcn.004082d0
add esp, 4
jmp dword [0x43ff8c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
mov dword [esp + 0x1c], 0
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x43fe2c]
xor eax, 0x2d6b76a9
mov esi, dword [esp + 4]
mov ecx, dword [esp]
mov dword [esi + ecx + 4], eax
mov edx, dword [esp + 0x14]
add edx, 8
mov ecx, dword [esp + 0x18]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov ebx, edx
jmp dword [eax*4 + 0x43fe2c]
mov dword [esp + 0x18], ecx
mov esi, dword [ecx]
mov eax, edi
xor eax, ebx
mov ecx, edi
not ecx
and ecx, ebx
add ecx, ecx
sub ecx, eax
mov ebp, ecx
sar ebp, 3
mov edx, dword [esp + 0x1c]
cmp ebx, edx
mov dword [esp + 8], ebp
je 0x425044
mov dword [esp + 0x14], ebx
mov dword [esp + 4], edi
jmp 0x4250f3
mov dword [esp], ecx
shr ecx, 2
and ecx, 2
mov eax, ebp
xor eax, 1
add eax, ecx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebp, ecx
shr ebp, 1
add ebp, ecx
cmp ebp, eax
ja 0x425067
mov ebp, eax
mov eax, ebp
and eax, 0xfffffff7
mov ecx, ebp
and ecx, 8
mov edx, ebp
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.004082c0
add esp, 4
mov dword [esp + 4], eax
test edi, edi
je 0x4250df
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
cmp edi, ebx
mov edx, dword [esp + 4]
je 0x4250d2
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [edx + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebx
jne 0x4250b0
push edi
call fcn.004082d0
add esp, 4
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 4]
lea ecx, [eax + ebp*8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp]
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, ebx
sub eax, edi
cmp eax, ecx
mov ebp, eax
mov dword [esp], eax
jae 0x425170
mov eax, dword [esp + 4]
mov ecx, ebp
add ebp, eax
mov edx, dword [esp + 8]
lea edx, [edi + edx*8]
sub edx, ebx
add eax, ecx
add eax, 8
cmp edx, 8
jle 0x42512b
push edx
push ebp
push eax
call fcn.00408340
add esp, 0xc
mov ebp, dword [esp]
jmp 0x425170
mov ecx, edx
shr ecx, 2
mov ebx, ebp
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ebx, edx
and ebx, 0xfffffffc
add eax, ebx
add ebx, ebp
mov ecx, edx
not ecx
or ecx, 3
add edx, ecx
inc edx
mov ecx, edx
shr ecx, 1
mov ebp, ebx
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test dl, 1
mov ebp, dword [esp]
je 0x425170
and edx, 0xfffffffe
movzx ecx, byte [ebx + edx]
mov byte [eax + edx], cl
nop
nop
mov eax, dword [esp + 4]
mov dword [eax + ebp], 0
mov edi, ebp
mov dword [eax + ebp + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + ebx], 0
lea ebx, [ebx + 1]
jne 0x425190
push ebx
call fcn.004082c0
add esp, 4
mov ebp, eax
mov eax, dword [esp + 4]
mov dword [eax + edi], ebp
mov ecx, ebx
shr ecx, 2
mov edx, esi
mov edi, ebp
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
xor ecx, 3
mov edx, ebx
or edx, 0xfffffffc
and edx, ecx
add ebp, edx
add edx, esi
mov ecx, ebx
and ecx, 3
mov dword [esp + 0x30], ecx
shr ecx, 1
mov eax, edx
mov dword [esp + 8], ebp
mov edi, ebp
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebx
inc al
test al, 1
jne 0x425206
mov edi, dword [esp + 0x30]
movzx eax, byte [edx + edi - 1]
mov ecx, dword [esp + 8]
mov byte [ecx + edi - 1], al
xor eax, eax
cmp ebx, 1
je 0x424fe5
mov edx, 0xffffffff
mov ecx, 1
jmp case.default.0x42500b
shr eax, 1
xor eax, edx
mov edx, eax
xor edx, 0xd2948956
inc ecx
cmp ebx, ecx
je 0x424fe0
movzx eax, byte [esi + ecx - 1]
xor eax, edx
mov edx, 0xbb65a855
mov edi, 0xbb65a855
test al, 1
je 0x42524f
mov edi, 0x56dd2b75
shr eax, 1
xor eax, edi
mov edi, 0x56dd2b75
test al, 1
je 0x425261
mov edi, 0xbb65a855
shr eax, 1
xor eax, edi
mov edi, 0x56dd2b75
test al, 1
je 0x425273
mov edi, 0xbb65a855
shr eax, 1
xor eax, edi
mov edi, 0xbb65a855
test al, 1
je 0x425285
mov edi, 0x56dd2b75
shr eax, 1
xor eax, edi
mov edi, 0xbb65a855
test al, 1
je 0x425297
mov edi, 0x56dd2b75
shr eax, 1
xor eax, edi
mov edi, 0x56dd2b75
test al, 1
je 0x4252a9
mov edi, 0xbb65a855
shr eax, 1
xor eax, edi
mov edi, 0x56dd2b75
test al, 1
je 0x4252bb
mov edi, 0xbb65a855
shr eax, 1
xor eax, edi
test al, 1
je 0x425220
mov edx, 0x56dd2b75
jmp 0x425220
mov dword [esp + 0xc], ecx
jmp dword [0x43ff8c]
push dword [esp + 0x2c]
call fcn.004082d0
add esp, 4
mov ecx, dword [0x444ab8]
test ecx, ecx
je 0x425339
mov eax, dword [esp + 0x28]
xor edx, edx
mov esi, dword [0x444abc]
nop
nop
nop
cmp dword [esi + edx*8], 0xb430e561
je 0x425310
inc edx
cmp ecx, edx
jne 0x425300
jmp 0x425339
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x425339
push eax
push 4
push ecx
push dword [0x444ac0]
call fcn.00436ff0
add esp, 0x10
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [0x43ff94]
mov esi, dword [esp + 4]
mov edx, dword [esp + 0xc]
jmp dword [0x43ff94]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x43ff9c]
mov dword [esp + 4], esi
jmp dword [0x43ffa4]
jmp dword [0x43ffc8]
mov ebx, dword [esp + 0x44]
test ebx, ebx
jns 0x425455
mov eax, 0xffffffff
jmp 0x425458
lea eax, [ebx + ebx]
push eax
call fcn.004082c0
add esp, 4
push edi
push ebx
push eax
push 9
push esi
push 0
call dword [0x444ab4]
jmp case.0x424d57.41
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov ebp, eax
push edi
push ebx
push eax
push 9
push esi
push 0
call dword [0x444ab4]
jmp dword [0x43ffcc]
mov ebx, dword [esp + 0x44]
test ebx, ebx
js 0x425480
lea eax, [ebx + ebx]
jmp 0x425485
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ffd4]
jmp dword [0x43ffe4]
xor ebx, ebx
jmp dword [0x43ffec]
push ebp
call fcn.004082d0
add esp, 4
xor ebx, ebx
jmp case.0x424d57.39
mov dword [esp + 1], 0x630b6124
mov dword [esp + 5], 0x67056517
mov dword [esp + 9], 0x6b186907
mov dword [esp + 0xd], 0x6f6e6d08
mov eax, 0x6fe84960
mov ecx, 0x9f
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6fe8495f]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
mov ebx, esi
xor ebx, edx
not edx
and edx, esi
add ebx, esi
sub ebx, edx
mov byte [esp + eax - 0x6fe8495f], bl
inc eax
dec ecx
cmp eax, 0x6fe84970
jne 0x425510
mov dword [esp + 0x30], ebp
lea edi, [esp + 0x96]
lea eax, [esp + 1]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xa6]
lea eax, [esp + 0x11]
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 1], 0x28ee5691
mov dword [esp + 5], 0x2c882a9a
mov dword [esp + 9], 0x209d2e92
mov dword [esp + 0xd], 0x24e02285
mov dword [esp + 0x11], 0x38992684
mov dword [esp + 0x15], 0x3c893a98
mov dword [esp + 0x19], 0x303f3eb4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edx + 1]
mov ecx, 0x42
sub ecx, edx
lea ebx, [edx + 0xbd]
or ebx, esi
not esi
or esi, ecx
lea eax, [esi + esi]
not eax
add eax, esi
and esi, 0x32
and eax, 0xcd
or eax, esi
xor eax, 0xcd
and ebx, eax
add bl, 0x18
mov byte [esp + edx + 1], bl
mov eax, edx
and eax, 1
xor edx, 1
lea edx, [edx + eax*2]
cmp edx, 0x1c
jb 0x4255b0
lea ebp, [esp + 0xd0]
lea eax, [esp + 1]
mov edi, ebp
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xec]
lea eax, [esp + 0x1d]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 1], 0x20962e69
mov dword [esp + 5], 0x24802292
mov dword [esp + 9], 0x3895269a
mov dword [esp + 0xd], 0x3c6b3a9d
mov dword [esp + 0x11], 0x307d3e69
lea ebx, [esp + 0x15]
mov word [esp + 0x15], 0x3231
mov ecx, 0xfa
mov esi, 5
nop
nop
nop
nop
movzx edx, byte [esp + esi - 4]
mov eax, esi
or eax, edx
or edx, ecx
sub al, dl
movzx eax, al
add eax, ecx
add al, 0xd8
mov byte [esp + esi - 4], al
dec ecx
inc esi
cmp esi, 0x1b
jne case.default.0x4256e3
lea esi, [esp + 0xba]
lea eax, [esp + 1]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xce]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x96]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], esi
mov ebp, dword [esp + 0x30]
mov eax, ebp
add eax, 2
mov dword [esp + 0x58], eax
xor edi, edi
mov dword [esp + 0x48], 0
xor eax, eax
cmp edi, 0xc
setne al
jmp dword [eax*4 + 0x43fff4]
jmp dword [0x43fffc]
push ebp
call fcn.004082d0
add esp, 4
mov ebx, dword [esp + 0x48]
and bl, 1
mov eax, ebx
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret
add edi, 4
xor eax, eax
cmp edi, 0xc
setne al
jmp dword [eax*4 + 0x43fff4]
mov ecx, dword [esp + edi + 0x88]
mov eax, 0xfffffffe
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425730
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], eax
mov edx, eax
sar edx, 1
mov eax, dword [esp + 0x44]
inc eax
mov ecx, eax
and ecx, edx
mov dword [esp + 0x4c], edx
xor eax, edx
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0xc
lea eax, [edx*2 + 0x18]
test ecx, ecx
jns 0x42576f
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
movzx ecx, word [ebp]
mov ebp, eax
test cx, cx
je 0x4257a2
mov edx, dword [esp + 0x58]
mov ebp, eax
nop
nop
nop
nop
nop
nop
nop
mov word [ebp], cx
add ebp, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425790
mov dword [esp + 0x50], eax
mov word [ebp], 0x5c
mov dword [esp + 1], 0xb46fb25d
mov dword [esp + 5], 0x4854b64a
mov dword [esp + 9], 0x4cb74aa8
mov dword [esp + 0xd], 0x409c4e6d
mov dword [esp + 0x11], 0x44a242b5
mov dword [esp + 0x15], 0x58a246b1
mov word [esp + 0x19], 0x5a59
mov ecx, 0x79
mov edx, 0x86
nop
nop
nop
movzx esi, byte [esp + ecx - 0x78]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x38
mov byte [esp + ecx - 0x78], bl
inc ecx
dec edx
cmp ecx, 0x93
jne 0x4257f0
add ebp, 2
mov edx, dword [esp + 0x3c]
movzx ecx, word [edx]
test cx, cx
je 0x425832
add edx, 2
mov word [ebp], cx
add ebp, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425820
mov word [ebp], 0
movzx ecx, word [esp + 1]
test cx, cx
mov esi, dword [esp + 0x50]
je 0x425862
lea edx, [esp + 3]
nop
nop
nop
nop
nop
nop
mov word [ebp], cx
add ebp, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425850
mov word [ebp], 0
lea eax, [esp + 0x40]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00438c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440004]
xor ebx, ebx
mov ebp, dword [esp + 0x30]
jmp dword [0x440074]
lea ebx, [esp + 0x70]
jmp dword [0x440010]
push 0
push ebx
push dword [esp + 0x48]
call fcn.00438f30
add esp, 0xc
nop
nop
nop
nop
nop
nop
nop
push 0
push ebx
push dword [esp + 0x48]
call fcn.00438f30
add esp, 0xc
jmp dword [0x440018]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44001c]
mov ebx, dword [esp + 0x70]
lea eax, [ebx + 1]
push eax
call fcn.004082c0
add esp, 4
mov ebp, eax
push 0
push ebx
push eax
push dword [esp + 0x4c]
call fcn.00438fc0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x440024]
mov eax, dword [esp + 0x70]
mov byte [ebp + eax], 0
push ebp
call fcn.00401000
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44002c]
jmp dword [0x44005c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x54], edi
mov dword [esp + 0x78], eax
push eax
call fcn.00401a50
add esp, 4
mov dword [esp + 1], 0x858af7fc
mov dword [esp + 5], 0x8e8991f5
mov dword [esp + 9], 0xfd83f9c5
mov dword [esp + 0xd], 0x8681998d
mov dword [esp + 0x11], 0x8dfaf0f6
mov word [esp + 0x15], 0x81f2
mov byte [esp + 0x17], 9
mov edi, 0x27694644
lea edx, [esp + 1]
nop
nop
nop
movzx ebx, byte [edx]
lea esi, [edi - 0x24000000]
and esi, 0x3084022
mov ecx, edi
and ecx, 0x2461065d
or ecx, esi
xor ecx, 0x39ec1a2
mov ebp, edi
or ebp, 0x3084022
xor ebp, esi
or ebp, ecx
xor ebp, ebx
mov ebx, ebp
xor ebx, 0xfc613e5d
xor ebp, 0x85
and ebp, ebx
or ebx, 0x27
add ebx, ebp
inc bl
mov byte [edx], bl
inc edx
dec edi
cmp edi, 0x2769462d
jne 0x425990
lea ecx, [esp + 1]
push ecx
push eax
call fcn.00401d90
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x425a00
shr ecx, 2
mov esi, edx
mov dword [esp + 0x34], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x425a25
cmp edx, 0x2e
jne 0x425a26
dec ecx
mov edx, dword [esp + 0x34]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x5c], eax
je 0x425a3d
cmp edx, 0x2e
jne 0x425a3e
dec ecx
mov dword [esp + 0x74], ecx
lea eax, [ecx + 1]
push eax
call fcn.004082c0
add esp, 4
mov dword [esp + 0x38], eax
cmp dword [esp + 0x34], 0
je 0x425b4d
xor edi, edi
mov ebp, 2
jmp 0x425a82
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
cmp ebp, edx
mov ebp, eax
jae 0x425b4d
mov esi, dword [esp + 0x5c]
movzx eax, byte [esi + ebp - 2]
push eax
call fcn.0041b100
add esp, 4
mov bh, al
movzx eax, byte [esi + ebp - 1]
push eax
call fcn.0041b100
mov edx, dword [esp + 0x38]
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
lea ebx, [edi + 1]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x64], edi
mov byte [ecx + edi], ah
cmp ebp, edx
jae 0x425a70
mov byte [esp + 0x2f], al
movzx eax, byte [esi + ebp]
push eax
call fcn.0041b100
mov edx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x425a72
movzx edx, byte [esp + 0x2f]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov esi, dword [esp + 0x64]
lea edi, [esi + 2]
mov edx, dword [esp + 0x38]
mov byte [edx + esi + 1], cl
mov edx, dword [esp + 0x34]
lea ecx, [ebp + 1]
cmp ecx, edx
jae 0x425a72
mov ecx, dword [esp + 0x5c]
movzx ecx, byte [ecx + ebp + 1]
push ecx
mov ebx, eax
call fcn.0041b100
mov edx, dword [esp + 0x38]
add esp, 4
cmp al, 0x40
je 0x425a72
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x64]
mov byte [ecx + edi + 2], al
add edi, 3
jmp 0x425a72
mov eax, dword [esp + 0x74]
add eax, 0xfffffffb
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x38]
add eax, 5
mov dword [esp + 0x84], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
push 0x8b2600cb
push dword [0x444ac4]
call fcn.004385c0
add esp, 8
lea ecx, [esp + 0x68]
lea edx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x440034]
xor ebx, ebx
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
jmp dword [0x440054]
mov eax, dword [esp + 0x60]
add eax, 0x10
cmp dword [esp + 0x4c], 0xfffffff8
mov edi, dword [esp + 0x54]
jge 0x425bda
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov ebp, eax
mov dword [esp + 1], 0x9cff9aa6
mov dword [esp + 5], 0x90a19eed
mov dword [esp + 9], 0x941b92e5
mov dword [esp + 0xd], 0xa89796e1
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x11
xor cl, byte [esp + eax + 1]
add cl, 0x78
mov byte [esp + eax + 1], cl
inc eax
cmp eax, 0x10
jne 0x425c10
mov eax, dword [esp + 0x3c]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
mov esi, dword [esp + 0x50]
je 0x425c61
mov eax, dword [esp + 0x3c]
lea edx, [eax + 2]
mov eax, ebp
nop
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 0x425c50
mov word [eax], 0
movzx ecx, word [esp + 1]
test cx, cx
je 0x425c91
lea edx, [esp + 3]
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 0x425c80
mov word [eax], 0
mov ecx, dword [esp + 0x100]
push dword [esp + 0x68]
push dword [esp + 0x70]
push ebp
call fcn.00408fa0
mov ebx, eax
jmp dword [0x44003c]
push ebp
call fcn.004082d0
add esp, 4
mov eax, dword [case.0x4256e3.18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0xd77a5d9a
push dword [0x443aac]
call fcn.004385c0
add esp, 8
push dword [esp + 0x6c]
call eax
jmp dword [0x440054]
push dword [esp + 0x38]
call fcn.004082d0
add esp, 4
push dword [esp + 0x78]
call fcn.00401f60
add esp, 4
mov ebp, dword [esp + 0x7c]
jmp dword [0x44005c]
push ebp
call fcn.004082d0
add esp, 4
nop
nop
nop
nop
jmp dword [0x440070]
mov ecx, dword [0x444ab8]
test ecx, ecx
je 0x425d80
mov eax, dword [esp + 0x40]
xor edx, edx
mov ebp, dword [0x444abc]
nop
nop
nop
nop
cmp dword [ebp + edx*8], 0xb430e561
je 0x425d51
inc edx
cmp ecx, edx
jne 0x425d40
jmp 0x425d80
mov ecx, dword [ebp + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x425d80
push eax
push 4
push ecx
push dword [0x444ac0]
call fcn.00436ff0
add esp, 0x10
mov ebp, dword [esp + 0x30]
jmp dword [0x440074]
mov ebp, dword [esp + 0x30]
jmp dword [0x440074]
jmp dword [0x440080]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
add eax, ecx
inc eax
mov ecx, eax
and ecx, 0x16
xor eax, 0x16
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x425db2
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov ebx, eax
movzx ecx, word [ebp]
test cx, cx
je 0x425de1
mov edx, dword [esp + 0x58]
mov eax, ebx
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425dd0
mov word [eax], 0x5c
mov dword [esp + 1], 0x1e611c77
mov dword [esp + 5], 0x12721080
mov dword [esp + 9], 0x16891472
mov dword [esp + 0xd], 0xa7a0837
mov dword [esp + 0x11], 0xe920c9f
mov dword [esp + 0x15], 0x260009d
mov dword [esp + 0x19], 0x6600464
mov dword [esp + 0x1d], 0x3aa5386b
mov dword [esp + 0x21], 0x3eab3c5e
mov dword [esp + 0x25], 0x32ad305a
mov dword [esp + 0x29], 0x36573457
mov word [esp + 0x2d], 0x2837
mov ecx, 0x539e1d03
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x539e1d02]
lea ebp, [ecx - 0x539e1d00]
and ebp, ecx
or ebp, edx
and edx, ecx
xor edx, ebp
add dl, 0xe8
mov byte [esp + ecx - 0x539e1d02], dl
inc ecx
cmp ecx, 0x539e1d31
jne 0x425e50
add eax, 2
mov edx, dword [esp + 0x3c]
movzx ecx, word [edx]
test cx, cx
je 0x425ea1
add edx, 2
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425e90
mov word [eax], 0
movzx ecx, word [esp + 1]
test cx, cx
je 0x425ed3
lea edx, [esp + 3]
mov ebp, dword [esp + 0x30]
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 0x425ec0
jmp 0x425ed7
mov ebp, dword [esp + 0x30]
mov esi, edi
mov word [eax], 0
mov eax, dword [esp + 0x60]
add eax, 0x12
cmp dword [esp + 0x4c], 0xfffffff7
jge 0x425ef1
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov edi, eax
mov dword [esp + 1], 0x7b967957
mov dword [esp + 5], 0x7f887d99
mov dword [esp + 9], 0x3ee01e5
mov dword [esp + 0xd], 0x7e405e0
mov word [esp + 0x11], 0x908
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xb8
xor cl, byte [esp + eax + 1]
add cl, 0x40
mov byte [esp + eax + 1], cl
inc eax
cmp eax, 0x12
jne 0x425f30
mov edx, dword [esp + 0x3c]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x425f71
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 0x425f60
mov word [eax], 0
movzx ecx, word [esp + 1]
test cx, cx
je 0x425fa1
lea edx, [esp + 3]
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 0x425f90
mov word [eax], 0
mov dword [esp + 1], 0x2a
lea eax, [esp + 1]
push 0
push 0
push 0xc00000
push eax
push ebx
push edi
push dword [esp + 0x118]
call fcn.0041eda0
add esp, 0x1c
mov ecx, dword [esp + 0x48]
and cl, 1
or cl, al
mov dword [esp + 0x48], ecx
jmp dword [0x4400a4]
push edi
call fcn.004082d0
add esp, 4
mov edi, esi
jmp dword [0x4400ac]
mov edi, esi
jmp dword [0x4400ac]
jmp dword [0x4400b4]
push esi
call fcn.004082d0
add esp, 4
push esi
call fcn.004082d0
add esp, 4
jmp dword [0x440088]
movzx eax, bl
jmp dword [eax*4 + 0x44009c]
push ebx
call fcn.004082d0
add esp, 4
push ebx
call fcn.004082d0
add esp, 4
jmp dword [0x4400c0]
push eax
sub esp, 0x3c
mov dword [ebp - 0x1c], esp
sub esp, 0x40
mov dword [ebp - 0x28], esp
push eax
mov dword [ebp - 0x18], esp
push eax
mov dword [ebp - 0x10], esp
push eax
mov edx, esp
push eax
mov eax, esp
sub esp, 0xc
mov esi, esp
push eax
mov edi, esp
push eax
mov ebx, esp
sub esp, 0x1c
mov ecx, esp
jmp dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x28]
mov dword [eax], 0x1c11ffb
mov dword [eax + 4], 0x5940392
mov dword [eax + 8], 0x9a907c2
mov dword [eax + 0xc], 0xdad0b9e
mov dword [eax + 0x10], 0xf14c0feb
mov dword [eax + 0x14], 0xf55bf33c
mov dword [eax + 0x18], 0xf95df762
mov dword [eax + 0x1c], 0xfd5dfb6a
mov dword [eax + 0x20], 0xe10bff5a
mov dword [eax + 0x24], 0xe558e309
mov dword [eax + 0x28], 0xe94de775
mov dword [eax + 0x2c], 0xed7feb79
mov dword [eax + 0x30], 0xd17fef47
mov dword [eax + 0x34], 0xd53ad37c
mov dword [eax + 0x38], 0xd975d74e
mov dword [eax + 0x3c], 0xdddcdb76
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax + ecx]
lea edi, [ecx + 0x4826bd6e]
xor edi, edx
mov ebx, 0xb7d94291
sub ebx, ecx
or ebx, edi
mov edi, ebx
not edi
mov esi, ebx
and esi, 2
or ebx, 2
inc ebx
imul ebx, esi
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
sub ebx, edi
add ebx, ecx
add bl, dl
add bl, 0xfe
mov byte [eax + ecx], bl
mov edx, ecx
not edx
or edx, 1
add edx, ecx
or ecx, 1
add ecx, edx
inc ecx
cmp ecx, 0x40
jb case.default.0x4261dd
mov edx, eax
mov esi, eax
mov eax, dword [ebp - 0x1c]
mov edi, eax
mov ecx, 0x10
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, eax
add edi, 0x40
add esi, 0x40
xor ebx, ebx
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov esi, dword [ebp - 0x18]
push esi
push 0
push 0
push 0x1f
push eax
push 0
call dword [0x444ab4]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0xc0000023
xor ecx, ecx
cmp eax, 0xc0000023
setne cl
jmp dword [ecx*4 + 0x4400f4]
mov esi, dword [esi]
test esi, esi
jns 0x4261f1
mov eax, 0xffffffff
jmp 0x4261f4
lea eax, [esi + esi]
mov edi, dword [ebp - 0x20]
push eax
call fcn.004082c0
add esp, 4
push dword [ebp - 0x18]
push esi
mov esi, eax
push eax
push 0x1f
push dword [ebp - 0x1c]
push 0
call dword [0x444ab4]
not eax
shr eax, 0x1f
mov ebx, dword [ebp - 0x40]
jmp dword [eax*4 + 0x4400fc]
xor ebx, ebx
jmp dword [0x440104]
push esi
call fcn.004082d0
add esp, 4
xor ebx, ebx
jmp case.0x4261dd.0
push 0x60
push 3
push 0x120089
mov eax, esi
mov esi, dword [ebp - 0x3c]
push esi
mov dword [ebp - 0x1c], eax
push eax
call fcn.00438c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44010c]
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [0x4401f4]
push 0
push dword [ebp - 0x14]
push dword [esi]
call fcn.00438f30
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x440114]
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.004082c0
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
push eax
push dword [esi]
call fcn.00438fc0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x18], 0
jmp dword [eax*4 + 0x44011c]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28]
mov byte [ecx + eax], 0
inc ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x18], 0
mov eax, ecx
jmp dword [0x440128]
mov dword [edi], 0x848c9698
mov dword [edi + 4], 0x8089828c
mov word [edi + 8], 0xc5fb
mov byte [edi + 0xa], 0x28
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x1c
mov ebx, edx
xor ebx, 0x4e
add ebx, esi
xor bl, byte [edi + edx]
add bl, 0x90
mov byte [edi + edx], bl
inc edx
add ecx, 2
cmp edx, 0xb
jne 0x426310
movzx ebx, byte [edi]
mov esi, eax
test bl, bl
je 0x426360
mov ecx, edi
mov edx, eax
mov esi, eax
jmp 0x42634c
inc esi
mov edx, esi
mov ecx, edi
movzx ebx, byte [ecx]
test bl, bl
je 0x426360
mov bh, byte [edx]
test bh, bh
je 0x426370
cmp bh, bl
jne 0x426340
inc edx
inc ecx
jmp 0x426345
jmp dword [0x44012c]
xor esi, esi
jmp dword [0x44012c]
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x440134]
movzx eax, byte [esi + 0xa]
add esi, 0xa
xor edi, edi
test al, al
je 0x4263b1
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x4263af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x4263a0
jmp 0x4263b1
mov edi, ecx
mov ebx, edi
sub ebx, esi
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x44013c]
xor eax, eax
cmp byte [edi - 1], 0x74
setne al
jmp dword [eax*4 + 0x440144]
xor eax, eax
cmp byte [edi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44014c]
xor eax, eax
cmp byte [edi - 3], 0x74
setne al
jmp dword [eax*4 + 0x440154]
xor eax, eax
cmp byte [edi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44015c]
mov eax, ebx
inc eax
mov dword [ebp - 0x10], eax
lea eax, [ebx + ebx + 2]
jns 0x426415
mov eax, 0xffffffff
push eax
call fcn.004082c0
add esp, 4
mov dword [ebp - 0x14], eax
push edi
push esi
push dword [ebp - 0x10]
push eax
call fcn.0040a910
add esp, 0x10
push 0x60
push 3
push 0x120089
push dword [ebp - 0x24]
push dword [ebp - 0x14]
call fcn.00438c70
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440164]
mov esi, edi
mov ebx, dword [ebp - 0x14]
jmp dword [0x4401b4]
push 0
push dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
push dword [eax]
call fcn.00438f30
add esp, 0xc
test eax, eax
setns al
mov ecx, dword [ebp - 0x34]
mov edx, dword [ecx]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44016c]
push edx
mov dword [ebp - 0x10], edx
call fcn.004082c0
add esp, 4
push 0
push dword [ebp - 0x10]
mov dword [ebp - 0x48], eax
push eax
mov eax, dword [ebp - 0x24]
push dword [eax]
call fcn.00438fc0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x440174]
xor eax, eax
mov edx, dword [ebp - 0x14]
jmp 0x4264cb
add edx, 2
test cx, cx
je 0x4264de
mov dword [ebp - 0x10], eax
movzx ecx, word [edx]
mov eax, edx
cmp cx, 0x5c
je 0x4264c3
mov eax, dword [ebp - 0x10]
jmp 0x4264c3
mov ecx, dword [case.0x4263bd.18]
jmp ecx
xor ecx, ecx
cmp dword [ebp - 0x10], 0
setne cl
jmp dword [ecx*4 + 0x44018c]
mov dword [ebp - 0x30], 0
xor eax, eax
jmp 0x42651a
mov ecx, eax
mov edx, dword [ebp - 0x14]
xor ecx, edx
not edx
and edx, eax
add edx, edx
sub edx, ecx
sar edx, 1
inc edx
mov eax, ebx
mov dword [ebp - 0x30], edx
sub eax, edx
add eax, 0x1b
push eax
call fcn.004082c0
add esp, 4
mov dword [ebp - 0x44], eax
mov ecx, ebx
not ecx
mov eax, dword [ebp - 0x30]
and ecx, eax
not eax
and eax, ebx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x50], ecx
sub eax, ecx
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x38]
mov dword [eax], 0x5d515d76
mov dword [eax + 4], 0x58645051
mov dword [eax + 8], 0xa37f5853
mov dword [eax + 0xc], 0x61ae99a7
mov dword [eax + 0x10], 0x97a5af81
mov dword [eax + 0x14], 0x6d9195a3
mov word [eax + 0x18], 0x776c
mov byte [eax + 0x1a], 0x29
mov ebx, 0x77
movzx edx, byte [eax + ebx - 0x77]
mov dword [ebp - 0x10], edx
and edx, ebx
mov eax, edx
or al, 0xfd
inc al
mov ecx, edx
and cl, 0xfd
mul cl
mov ecx, eax
add cl, byte [ebp - 0x10]
mov eax, edx
shr al, 1
and al, 1
or dl, 2
mul dl
add al, al
sub cl, al
movzx eax, cl
add eax, ebx
add al, 0x48
mov ecx, dword [ebp - 0x38]
mov byte [ecx + ebx - 0x77], al
mov eax, dword [ebp - 0x38]
inc ebx
cmp ebx, 0x92
jne 0x42657c
add esi, dword [ebp - 0x30]
movzx ecx, byte [eax]
mov ebx, dword [ebp - 0x44]
mov eax, ebx
test cl, cl
je 0x4265e0
mov edx, dword [ebp - 0x40]
mov eax, ebx
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4265d5
mov byte [eax], 0
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x42660d
and edx, 3
je 0x426611
xor ecx, ecx
movzx ebx, byte [esi]
cmp bl, 1
sbb esi, 0xffffffff
mov byte [eax + ecx], bl
inc ecx
cmp edx, ecx
jne 0x4265f1
add eax, ecx
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov ecx, eax
jmp 0x426614
mov ecx, eax
jmp 0x42665c
mov edx, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x50]
sub ebx, dword [ebp - 0x4c]
cmp ebx, 0xfffffffc
ja 0x42665c
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 2], cl
mov ebx, edx
movzx edx, byte [esi]
cmp dl, 1
sbb esi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov edx, ebx
mov eax, ecx
add edx, 0xfffffffc
jne 0x42661f
mov byte [ecx], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
push dword [eax]
push dword [ebp - 0x48]
mov esi, dword [ebp - 0x44]
push esi
call fcn.004091b0
mov ecx, dword [ebp - 0x18]
and cl, 1
or cl, al
mov dword [ebp - 0x18], ecx
jmp dword [0x440194]
push esi
call fcn.004082d0
add esp, 4
jmp dword [0x44019c]
jmp dword [0x44019c]
push dword [ebp - 0x48]
call fcn.004082d0
add esp, 4
mov ecx, dword [0x444ab8]
test ecx, ecx
mov ebx, dword [ebp - 0x14]
je 0x4266f1
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
xor edx, edx
mov esi, dword [0x444abc]
cmp dword [esi + edx*8], 0xb430e561
je 0x4266ce
inc edx
cmp ecx, edx
jne 0x4266be
jmp 0x4266f1
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x4266f1
push eax
push 4
push ecx
push dword [0x444ac0]
call fcn.00436ff0
add esp, 0x10
mov esi, edi
jmp dword [0x4401b4]
mov esi, edi
jmp dword [0x4401b4]
jmp dword [0x4401c0]
push ebx
call fcn.004082d0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.004082d0
add esp, 4
mov esi, edi
jmp dword [0x4401c8]
mov eax, esi
mov edi, dword [ebp - 0x20]
jmp dword [0x440128]
mov dword [edi], 0x848c9698
mov dword [edi + 4], 0x8089828c
mov word [edi + 8], 0xc5fb
mov byte [edi + 0xa], 0x28
xor ecx, ecx
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x1c
mov ebx, edx
xor ebx, 0x4e
add ebx, esi
xor bl, byte [edi + edx]
add bl, 0x90
mov byte [edi + edx], bl
inc edx
add ecx, 2
cmp edx, 0xb
jne 0x426760
jmp case.0x4261dd.12
mov eax, dword [case.0x4261dd.9]
mov esi, dword [ebp - 0x3c]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x4401dc]
push dword [ebp - 0x28]
call fcn.004082d0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x4401f0]
mov ecx, dword [0x444ab8]
test ecx, ecx
mov ebx, dword [ebp - 0x18]
je 0x426807
mov eax, dword [esi]
xor edx, edx
mov esi, dword [0x444abc]
nop
nop
nop
cmp dword [esi + edx*8], 0xb430e561
je 0x4267e0
inc edx
cmp ecx, edx
jne 0x4267d0
jmp 0x426807
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, 0xffffffff
je 0x426807
push eax
push 4
push ecx
push dword [0x444ac0]
call fcn.00436ff0
add esp, 0x10
and bl, 1
mov esi, dword [ebp - 0x1c]
jmp dword [0x4401f4]
and bl, 1
mov esi, dword [ebp - 0x1c]
jmp dword [0x4401f4]
jmp dword [0x4401fc]
push esi
call fcn.004082d0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004082d0
add esp, 4
jmp dword [0x440208]
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
inc eax
inc edx
add byte [ecx + 0x40], bl
inc edx
add byte [ecx + eax*2 + 0x42], bh
add byte [esi + 0x67004241], dl
inc edx
inc edx
add byte [edi - 0x79ffbdbf], ah
inc edx
inc edx
add byte [edx + eax*2 + 0x44710042], dl
inc edx
add byte [edx + 0x55004242], bh
inc esp
inc edx
add bh, ch
inc edx
inc edx
add byte [eax], dh
inc esp
inc edx
add byte [ebx + eax*2 + 0x42], cl
add byte [eax], dh
inc esp
inc edx
add byte [ecx + 0x3000424f], bh
inc esp
inc edx
add byte [edx], dl
push eax
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], dh
inc esp
inc edx
add byte [eax + 0x44], al
inc edx
add byte [ebp + 0x44], dl
inc edx
add byte [eax + 0x44], ah
inc edx
add byte [eax + 0x44], ah
inc edx
add byte [eax + 0x44], ah
inc edx
add byte [edx + 0x44], ah
inc edx
add byte [eax + 0x44], ch
inc edx
add byte [ecx + 0x44], dh
inc edx
add al, dl
inc esp
inc edx
add al, dl
inc esp
inc edx
add dl, dl
inc esp
inc edx
add al, dl
inc esp
inc edx
add al, bl
inc esp
inc edx
add dh, bh
inc esp
inc edx
add byte [eax*2 + 0x44ef0042], cl
inc edx
add byte [ebp + 0x46], ah
inc edx
add byte [esi - 0x2effbdb8], al
inc esi
inc edx
add byte [edx + 0x46], dh
inc edx
add cl, dl
inc esi
inc edx
add dl, bl
inc esi
inc edx
add dh, ah
inc esi
inc edx
add dh, bh
inc esi
inc edx
add dh, ch
inc esi
inc edx
add byte [esi + 0x20004248], al
inc edi
inc edx
add byte [eax], cl
inc edi
inc edx
add byte [eax], ah
inc edi
inc edx
add byte [edi + 0x47], bl
inc edx
add byte [ebx + 0x47], ch
inc edx
add ch, bl
dec eax
inc edx
add bh, ah
push edx
inc edx
add byte [ebx], cl
dec ecx
inc edx
add cl, dl
push edx
inc edx
add byte [ecx + ecx*2 + 0x42], al
add byte [edx - 0x50ffbdb1], dl
dec ecx
inc edx
add byte [edx + 0x7c00424f], dl
dec edx
inc edx
add byte [edx - 0x64ffbdb1], dl
dec edx
inc edx
add byte [edx + 0x4f], dh
inc edx
add dl, al
dec edx
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [eax], dl
dec ebx
inc edx
add byte [edx], dl
dec ebx
inc edx
add byte [esi], cl
dec esp
inc edx
add byte [ebx], ah
dec ebx
inc edx
add byte [edx + 0x4b], ah
inc edx
add byte [edx - 0xcffbdb5], ah
dec ebx
inc edx
add byte [eax], al
dec esp
inc edx
add byte [eax], al
dec esp
inc edx
add byte [eax], cl
dec esp
inc edx
add dl, al
dec ebp
inc edx
add byte [eax + 0x4d], ah
inc edx
add byte [esi - 0x5fffbdb3], ah
dec ebp
inc edx
add byte [eax - 0x5fffbdb3], ah
dec ebp
inc edx
add byte [eax - 0x59ffbdb3], ah
dec ebp
inc edx
add dl, al
dec ebp
inc edx
add byte [ecx - 0x2fffbdb3], dh
dec ebp
inc edx
add cl, ah
dec ebp
inc edx
add byte [esi + 0x4e], bh
inc edx
add byte [esi + ecx*2 + 0x4f5f0042], al
inc edx
add byte [edx + 0x4f], dh
inc edx
add byte [eax + 0x4f], dh
inc edx
add byte [eax + 0x4f], dh
inc edx
add byte [edx + 0x4f], dh
inc edx
add byte [eax + 0x4f], dh
inc edx
add byte [eax - 0x7fffbdb1], al
dec edi
inc edx
add byte [edx - 0x7fffbdb1], al
dec edi
inc edx
add byte [edi + ecx*2 + 0x52d10042], bl
inc edx
add bl, bl
push edx
inc edx
add bh, ah
push edx
inc edx
add byte [edi + 0x47], dh
inc edx
add byte [edi + 0x53], al
inc edx
add byte [edi + 0x53], dl
inc edx
add byte [edi + eax*2 + 0x48770042], dl
inc edx
add byte [eax + ecx*2 + 0x48d00042], al
inc edx
add al, dl
dec eax
inc edx
add dl, dl
dec eax
inc edx
add al, dl
dec eax
inc edx
add byte [eax + 0x54], al
inc edx
add byte [eax], al
push edi
inc edx
add byte [esi + 0x54], al
inc edx
add byte [esp + edx*2 + 0x54b10042], ah
inc edx
add byte [esp + edx*2 + 0x54c00042], ah
inc edx
add dh, bl
push esp
inc edx
add al, al
push esp
inc edx
add al, al
push esp
inc edx
add dh, al
push esp
inc edx
add al, al
push esp
inc edx
add dh, cl
push esp
inc edx
add byte [eax], al
push edi
inc edx
add dl, ch
push esi
inc edx
add byte [edx], ah
push edi
inc edx
add al, dh
push esi
inc edx
add cl, bh
push esi
inc edx
add byte [ebx - 0x5fffbda8], cl
pop eax
inc edx
add byte [edx - 0x3fffbda8], ch
pop eax
inc edx
add al, al
pop eax
inc edx
add ch, dl
pop eax
inc edx
add byte [esi], ah
pop ebp
inc edx
add bl, ah
pop eax
inc edx
add byte [0x13004259], dh
pop ecx
inc edx
add byte [0x3b004259], dh
pop ecx
inc edx
add byte [ebx - 0x3cffbda5], dh
pop ebx
inc edx
add byte [ebx - 0x2dffbda4], dh
pop esp
inc edx
add al, dl
pop esp
inc edx
add al, dl
pop esp
inc edx
add dl, dl
pop esp
inc edx
add al, dl
pop esp
inc edx
add cl, dh
pop esp
inc edx
add ch, bh
pop esp
inc edx
add byte [ebx], dl
pop ebp
inc edx
add byte [eax], ah
pop ebp
inc edx
add byte [eax], ah
pop ebp
inc edx
add byte [eax], ah
pop ebp
inc edx
add byte [eax], ah
pop ebp
inc edx
add byte [esi], ah
pop ebp
inc edx
add byte [edx + 0x2800425d], cl
pushal
inc edx
add byte [eax], dl
pushal
inc edx
add byte [ecx], bl
pushal
inc edx
add byte [eax], dl
pushal
inc edx
add byte [eax], ch
pushal
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], ch
pushal
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], dl
push edi
inc edx
add byte [eax - 0x1fffbda3], dl
pop edi
inc edx
add byte [eax], al
pushal
inc edx
add byte [eax], cl
pushal
inc edx
add byte [eax], dl
push edi
inc edx
add byte [ecx + 0x60], cl
inc edx
add byte [eax + 0x60], al
inc edx
add byte [eax + 0x60], al
inc edx
add byte [eax], dl
push edi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], dl
push edi
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], al
push edi
inc edx
add byte [eax - 0x7fffbda0], al
pushal
inc edx
add byte [eax - 0x51ffbda0], al
pushal
inc edx
add ah, ah
popal
inc edx
add byte [edi], bh
push 0x62230042
inc edx
add byte [ebx], bh
bound eax, qword [edx]
sub esp, dword [edx + 0x42]
add byte [edi], bh
push 0x62620042
inc edx
add byte [ebp + 0x62], ch
inc edx
add byte [esi - 0x70ffbd99], dh
bound eax, qword [edx]
xchg edx, eax
inc edx
add bh, al
bound eax, qword [edx]
cmp esp, dword [edi + 0x42]
add al, dh
bound eax, qword [edx]
js 0x440191
inc edx
add byte [ebx], bh
inc edx
add byte [esi - 0x7cffbd9d], al
inc edx
add ah, al
arpl word [edx], ax
xor byte [edi + 0x42], ah
add ah, dl
arpl word [edx], ax
xor byte [edi + 0x42], ah
add ah, ah
arpl word [edx], ax
xor byte [edi + 0x42], ah
add ah, dh
arpl word [edx], ax
xor byte [edi + 0x42], ah
add byte [esp], al
inc edx
add byte [eax], dh
inc edx
add byte [edx + 0x64], dl
inc edx
add byte [ebp + 0x64], bl
inc edx
add byte [esi + 0x648e0042], ah
inc edx
add byte [ebx - 0x43ffbd9a], dl
inc edx
add ah, ah
inc edx
add ah, ah
inc edx
add dh, ah
inc edx
add ah, ah
inc edx
add dh, dh
inc edx
add byte [ecx], al
inc edx
add byte [esi + 0x66930042], al
inc edx
add byte [ecx - 0x5bffbd9a], bl
inc dx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx + 0x68], cl
inc edx
add byte [ecx], al
add byte [eax], al
add cl, bh
inc dx
add byte [eax], dh
inc edx
add bh, bh
inc dx
add byte [eax], dl
inc edx
add byte [eax], dl
inc edx
add byte [eax], dh
inc edx
add byte [eax - 0x6fffbd99], dl
inc edx
add byte [eax - 0x6dffbd99], dl
inc edx
add byte [eax - 0x4fffbd99], bl
inc edx
add byte [eax - 0x4fffbd99], dh
inc edx
add byte [eax - 0x49ffbd99], dh
inc edx
add byte [ebx], dl
push 0x683f0042
inc edx
add byte [eax], dh
push 0x68190042
inc edx
add byte [eax], dh
push 0x683f0042
inc edx
add byte [eax], al
add byte [eax], al
add al, dh
add al, 0xdc
add bl, ch
add al, 0xdc
add byte [eax], bh
pop es
fadd qword [eax]
in eax, dx
or ah, bl
add byte [edx], ah
or esp, ebx
add byte [esi], dl
or esp, ebx
add byte [ecx + ecx], ch
fadd qword [eax]
call 0xe044de39
or bl, ah
add dh, bl
or bl, ah
add byte [ebx], dh
pop es
fadd qword [eax]
lahf
or al, 0xdc
add byte [eax], bl
or al, 0xdc
add byte [esi], bl
or eax, 0xf4900dc
fadd qword [eax]
inc ecx
paddusb mm0, qword [eax]
push ss
fadd qword [eax]
push ss
fadd qword [eax]
mov ch, 0x16
fadd qword [eax]
inc ebp
pop ss
fadd qword [eax]
fst qword [esi]
fadd qword [eax]
mov ss, word [edi]
fadd qword [eax]
sbb ah, bl
add byte [eax + ebx + 0x16fc00dc], bh
fadd qword [eax]
mov esp, 0x4500dc18
push ss
fadd qword [eax]
add ebx, dword [ecx]
fadd qword [eax]
sbb bl, byte [ecx]
fadd qword [eax]
xor esp, dword [0x161900dc]
fadd qword [eax]
xchg ebx, eax
sub esp, ebx
add byte [ebx], dh
and eax, 0x253300dc
fadd qword [eax]
sbb esp, dword [0x24e500dc]
fadd qword [eax]
cmc
and al, 0xdc
add byte [ebx], bl
and eax, 0x24b600dc
fadd qword [eax]
mov dh, 0x24
fadd qword [eax]
xchg ebp, eax
and bl, ah
add byte [ebx + 0x22], ch
fadd qword [eax]
in al, dx
and bl, ah
add byte [ecx + ebx], dh
fadd qword [eax]
pop ecx
sbb esp, ebx
add byte [eax + 0x19], dl
fadd qword [eax]
xchg esi, eax
sbb esp, ebx
add al, dh
sbb esp, ebx
add byte [edx + ebx], ah
fadd qword [eax]
jns 0x4402f0
fadd qword [eax]
mov cl, 0x1a
fadd qword [eax]
wait
sbb bl, ah
add byte [ebx - 0x7eff23e6], bl
sbb ebx, esp
add byte [eax + 0x1a], bl
fadd qword [eax]
sbb dword [ebx], 0x19cc00dc
fadd qword [eax]
sbb dword [ebx], 0x1b8100dc
fadd qword [eax]
sbb dword [ebx], 0x1ea400dc
int3
fadd qword [eax]
movsb byte es:[edi], byte [esi]
push ds
fadd qword [eax]
lahf
push ds
fadd qword [eax]
push esi
and bl, ah
add byte [eax], cl
sub esp, ebx
add byte [esi - 0x51ff23dc], ch
and al, 0xdc
add byte [edi + edx + 0x292600dc], ah
fadd qword [eax]
or byte [ecx], ch
fadd qword [eax]
scasb al, byte es:[edi]
and al, 0xdc
add byte [esi - 0x5bff23dc], ch
pop ss
fadd qword [eax]
sub esp, ebx
add al, ch
and al, 0xdc
add al, bh
fadd qword [eax]
call 0xf844df49
and ebx, esp
add bh, bh
sub ah, bl
add byte [eax + 0x7f], dl
mov edi, 0xbf674300
add byte [ebp - 0x42ff4083], bl
imul edi, dword [edi - 0x40835e00], 0xbf685300
add ah, dh
mov edi, 0xbf781700
mov edi, 0xbf7d9d00
add byte [ebp - 0x5dff4097], bh
jl 0x4402fe
add byte [ebx + 0x68], dl
mov edi, 0xbf64f400
add byte [edi], dl
js 0x44030a
add byte [eax + 0x2500bf71], dh
mov edi, 0xbf752400
mov edi, 0xbf752400
mov edi, 0xbf725a00
add bh, al
jle 0x44031e
add byte [edx + 0x72], bl
mov edi, 0xbf7ec700
add byte [esi], al
mov edi, 0xbf7ea000
add byte [esi - 0xcff4087], dh
jle 0x44032e
mov edi, 0xbf7ef300
add byte [edx], cl
jo 0x440332
add byte [edi + esi*2 - 0x41], ch
add ah, ah
insd dword es:[edi], dx
mov edi, 0xbf682200
add byte [ebp + 0x75], dl
mov edi, 0xbf7c7100
add byte [ecx + ebp*2 + 0x6d8d00bf], cl
mov edi, 0xbf7bf800
mov edi, 0xbf755500
add byte [ecx + 0x7c], dh
mov edi, 0xbf698c00
add byte [ebp - 0x7ff4093], cl
jnp 0x440352
add bl, dh
je 0x440356
add byte [edi], cl
cmp byte [edi - 0x40829e00], 0
and al, 0x7e
mov edi, 0xbf6fce00
add byte [ecx], ch
jl 0x44036a
add byte [ebp + 0x77], al
mov edi, 0xbf71d700
add byte [ebx - 0x19ff408c], ch
ja 0x44037a
add byte [edx], ch
jge 0x44037e
add byte [ebx + 0x7f], al
mov edi, 0xbf759c00
add byte [ecx - 0x80], al
mov edi, 0xbf7baa00
add byte [ebx + 0x74], bh
mov edi, 0xbf721600
add byte [eax + 0x7e], bh
mov edi, 0x16f0b600
add esi, ebx
add edx, dword [edi]
add dword [eax], edi
push ss
add dword [ecx + edi*8], esi
push ss
add ebp, edx
cmc
push ss
add dword [edx + esi*8], edx
push ss
add dword [ebp + 3], edx
pop ss
add ecx, edi
stc
push ss
add dword [edx - 0x7cfee90e], eax
add dword [edi], edx
add dword [eax + 7], edi
pop ss
add dword [edi - 9], ebp
push ss
add dword [ebp - 0x3dfee901], edi
stc
push ss
add dword [edx], ecx
stc
push ss
add dword [esi + 0x650116fe], ecx
stc
push ss
add dword [ecx - 9], eax
push ss
add esp, edi
pop es
pop ss
add esi, esp
not byte [esi]
add dword [ebp - 0xa], edx
push ss
add dword [edi + esi*8], ecx
push ss
add dword [edi + 4], ebp
pop ss
add dword [eax - 0x61fee909], esp
or byte [edi], dl
add dword [ecx - 0x1cfee906], esp
int1
push ss
add dword [edi + edi*8], ecx
push ss
add dword [edi + 7], eax
pop ss
add esi, eax
sti
push ss
add dword [edi + 0x160116fb], eax
sti
push ss
add dword [ebp + 0x210116f6], esi
std
push ss
add dword [eax - 0x58fee8f9], esp
cmc
push ss
add dword [0xc1011708], esi
push ss
add dword [ecx - 0x10fee90a], edx
cld
push ss
add dword [eax - 0x76fee901], edx
int1
push ss
add esi, esp
add dl, byte [edi]
add dword [esp + eax + 0x86d0117], ebx
pop ss
add dword [ecx + 4], eax
pop ss
add ebx, esp
clc
push ss
add dword [edx - 6], ebp
push ss
add dword [ebp + esi*8 + 0x16], edx
add dword [esi + 0x480116f9], ecx
push ss
add dword [edi], edi
call dword [esi]
add dword [edx], ecx
push ss
add dword [ebx + eax + 0x17], edi
add dword [edx], eax
call dword [esi]
add esi, ecx
pop es
pop ss
add dword [ebx], edx
add al, 0x17
add dword [ecx], esp
invalid