Function at 0x42db52
Capabilities:
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.0042bea0
add esp, 4
test al, al
je 0x42c6c0
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xb0
mov dword [esp + 0x94], 0xc150c78f
mov dword [esp + 0x98], 0xcd5ec35d
mov dword [esp + 0x9c], 0xc95acfaf
mov dword [esp + 0xa0], 0xf5bacb5c
mov dword [esp + 0xa4], 0xf16af797
mov dword [esp + 0xa8], 0xfdf2f398
xor eax, eax
xor ecx, ecx
mov esi, eax
and esi, 0x22
mov edx, ecx
xor edx, 0x51
add edx, esi
xor dl, byte [esp + ecx + 0x94]
add dl, 0x6b
mov byte [esp + ecx + 0x94], dl
inc ecx
add eax, 2
cmp ecx, 0x18
jne 0x42c710
mov dword [esp + 0x14], 0x11ec1ff0
mov dword [esp + 0x18], 0x15eb13d7
mov dword [esp + 0x1c], 0x9e317ef
mov dword [esp + 0x20], 0xdf80bfc
mov dword [esp + 0x24], 0x1e20fe7
mov dword [esp + 0x28], 0x5c103ff
mov dword [esp + 0x2c], 0x39fe07c1
mov dword [esp + 0x30], 0x3dc43bc3
mov dword [esp + 0x34], 0x31d23ffb
mov dword [esp + 0x38], 0x35c333c5
mov dword [esp + 0x3c], 0x29c237f2
mov dword [esp + 0x40], 0x2de92bc1
mov dword [esp + 0x44], 0x21e92fde
mov dword [esp + 0x48], 0x25d423cc
mov dword [esp + 0x4c], 0xd9ba27c7
mov dword [esp + 0x50], 0xdd3ddb4e
mov dword [esp + 0x54], 0xd12bdf30
mov dword [esp + 0x58], 0xd535d344
mov dword [esp + 0x5c], 0xc949d737
mov word [esp + 0x60], 0xcbc8
mov word [esp + 0x66], 0
mov dword [esp + 0x62], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x45
xor cl, byte [esp + eax + 0x14]
add cl, 0xa7
mov byte [esp + eax + 0x14], cl
inc eax
cmp eax, 0x54
jne case.default.0x42c824
lea eax, [esp + 0x94]
lea ebp, [esp + 0x14]
push eax
push ebp
call fcn.0043d120
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44ed34]
mov ecx, esi
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42c830
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42c850
mov eax, 0xffffffff
jmp 0x42c853
xor eax, eax
jmp 0x42d4c6
add eax, 0x26
push eax
call fcn.0040cbc0
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0x4fa949a4
mov dword [esp + 0x18], 0x43d04ddf
mov dword [esp + 0x1c], 0x47df41da
mov dword [esp + 0x20], 0x7b9645df
mov dword [esp + 0x24], 0x7fed799f
mov dword [esp + 0x28], 0x73e87dee
mov dword [esp + 0x2c], 0x77ed71e9
mov dword [esp + 0x30], 0x6be075a6
mov dword [esp + 0x34], 0x6ff4698c
mov dword [esp + 0x38], 0x6d6c
mov byte [esp + 0x3c], 0
mov eax, 0xd54a9492
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0x2ab56b82]
lea ecx, [edx + edx]
not ecx
add ecx, edx
not edx
or edx, ecx
mov edi, edx
not edi
or edi, eax
add edi, edx
mov edx, 0xfffffffe
sub edx, edi
or ecx, eax
and ecx, edx
mov edx, 0x392145d8
sub edx, ecx
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov edx, ecx
xor edx, 0xb4
and ecx, 0x4b
add ecx, ecx
sub ecx, edx
mov byte [esp + eax + 0x2ab56b82], cl
inc eax
cmp eax, 0xd54a94bb
jne 0x42c8c0
movzx ecx, word [esi]
mov edi, dword [esp + 0x10]
mov eax, edi
test cx, cx
je 0x42c941
mov edx, esi
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c930
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42c971
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 0x42c960
mov word [eax], 0
jmp dword [0x44ed3c]
push esi
call fcn.0040cbd0
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x44ed44]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x44ed44]
mov dword [esp + 0x14], 0x29d42be1
mov dword [esp + 0x18], 0x2d8b2ff4
mov dword [esp + 0x1c], 0x3180339d
mov dword [esp + 0x20], 0x3599379a
mov dword [esp + 0x24], 0x39e63b9d
mov dword [esp + 0x28], 0x3d8f3f9d
mov dword [esp + 0x2c], 0x1a8038e
mov dword [esp + 0x30], 0x5af07af
mov dword [esp + 0x34], 0x9b00bf6
mov dword [esp + 0x38], 0xda40fac
mov word [esp + 0x3c], 0x130c
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov eax, 0xc7
mov ecx, 0x18
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, ecx
and esi, 0x1f
mov edx, eax
and edx, 0xe0
or edx, esi
xor dl, byte [esp + eax - 0xb3]
xor dl, 0x1f
add dl, 0x1d
mov byte [esp + eax - 0xb3], dl
inc eax
dec ecx
cmp eax, 0xf6
jne case.default.0x42ca84
push 0
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
lea eax, [esp + 0xa0]
push eax
push edi
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp], 0
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44ed4c]
jmp dword [0x44edfc]
push dword [esp + 0x10]
call fcn.0040cbd0
add esp, 4
xor eax, eax
mov edi, dword [esp]
mov esi, dword [esp + 8]
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44ee04]
xor eax, eax
test esi, esi
jne 0x42d48a
jmp 0x42d4c6
jmp dword [0x44ed54]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x9c]
call fcn.00445f60
add esp, 0xc
nop
nop
nop
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x9c]
call fcn.00445f60
add esp, 0xc
jmp dword [0x44ed5c]
not eax
shr eax, 0x1f
xor esi, esi
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44ed64]
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0xa0]
call fcn.00446060
add esp, 0x10
not eax
shr eax, 0x1f
xor esi, esi
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44ed6c]
mov esi, dword [esp + 0x78]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cbc0
add esp, 4
mov ebx, eax
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 ecx, eax
push esi
mov dword [esp + 0x74], edi
push edi
call fcn.0042fff0
movzx eax, al
mov dword [esp], 0
xor esi, esi
jmp dword [eax*4 + 0x44ed74]
jmp dword [0x44ed80]
xor eax, eax
mov edi, dword [esp]
mov esi, dword [esp + 8]
cmp esi, edi
sete al
jmp dword [eax*4 + 0x44ee04]
mov eax, edi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040cbc0
add esp, 4
mov edi, dword [0x4528c8]
mov dword [esp + 0x14], 0x398e3b57
mov dword [esp + 0x18], 0x258b27a9
mov dword [esp + 0x1c], 0x21b6238b
mov dword [esp + 0x20], 0x2dbe2f6f
mov dword [esp + 0x24], 0x29662bbc
mov dword [esp + 0x28], 0x158a1787
mov dword [esp + 0x2c], 0x117913bb
mov dword [esp + 0x30], 0x1da31fb4
mov dword [esp + 0x34], 0x19b11b80
mov dword [esp + 0x38], 0x59507b7
mov dword [esp + 0x3c], 0x19603a0
mov dword [esp + 0x40], 0xda30f91
mov dword [esp + 0x44], 0x99e0ba3
mov dword [esp + 0x48], 0x75ec775a
mov dword [esp + 0x4c], 0x71d873d8
mov word [esp + 0x50], 0x7f70
mov dword [esp + 0x52], 0
mov ecx, 0xb
mov edx, 0xf4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx + 9]
mov esi, ebx
not esi
or esi, edx
or ebx, ecx
and ebx, esi
add bl, 0xc9
mov byte [esp + ecx + 9], bl
inc ecx
dec edx
cmp ecx, 0x4d
jne 0x42cc80
mov dword [esp + 0x10], eax
lea eax, [esp + 0x90]
push eax
push 0
push 0
push 0x1e
push ebp
push 0
call edi
mov edi, dword [esp + 0x90]
test edi, edi
jns 0x42ccc6
mov eax, 0xffffffff
jmp 0x42ccc9
lea eax, [edi + edi]
push eax
call fcn.0040cbc0
add esp, 4
mov dword [esp + 0x74], eax
mov eax, dword [0x4528c8]
mov dword [esp + 0x14], 0xb1c28fab
mov dword [esp + 0x18], 0xb5d7b321
mov dword [esp + 0x1c], 0xb9dab7d7
mov dword [esp + 0x20], 0xbd2abbfb
mov dword [esp + 0x24], 0xa1fabf2c
mov dword [esp + 0x28], 0xa536a3c3
mov dword [esp + 0x2c], 0xa981a7c7
mov dword [esp + 0x30], 0xaddfabd4
mov dword [esp + 0x34], 0xd1c9af38
mov dword [esp + 0x38], 0xd5bdd3b3
mov dword [esp + 0x3c], 0xd9bad7a8
mov dword [esp + 0x40], 0xddbfdb49
mov dword [esp + 0x44], 0xc1b2dfbf
mov dword [esp + 0x48], 0xc554c3ee
mov dword [esp + 0x4c], 0xc9a0c7a0
mov word [esp + 0x50], 0xcbc8
mov dword [esp + 0x52], 0
mov ecx, 0x3497999d
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx - 0x34979989]
lea ebx, [ecx - 0x34979900]
and ebx, ebp
mov esi, ebx
or esi, 0xfffffffd
inc esi
mov edx, ebx
and edx, 0xfffffffd
imul edx, esi
mov esi, ebx
and esi, 2
or ebx, 2
imul ebx, esi
lea esi, [ecx + ebp]
add edx, ebp
sub edx, ebx
add edx, ecx
add esi, esi
and esi, 2
xor edx, 1
add edx, 0xf909ffee
mov ebx, edx
and ebx, esi
xor edx, esi
lea edx, [edx + ebx*2]
mov byte [esp + ecx - 0x34979989], dl
inc ecx
cmp ecx, 0x349799df
jne 0x42cd70
lea ecx, [esp + 0x90]
push ecx
push edi
mov ebx, dword [esp + 0x7c]
push ebx
push 0x1e
lea ebp, [esp + 0x24]
push ebp
push 0
call eax
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44ee0c]
mov dword [esp + 4], 0
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 8]
jmp dword [0x44eec4]
lea eax, [esp + 0x88]
push 0
push eax
push dword [esp + 0x88]
call fcn.00445f60
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov edi, dword [esp + 0x10]
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x44ee14]
jmp dword [0x44ee1c]
mov esi, dword [esp + 0x88]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.00446060
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x88]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x8c]
call fcn.00446060
add esp, 0x10
jmp dword [0x44ee28]
mov dword [esp + 0x84], ebx
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x44ee2c]
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x84]
mov byte [esi + edi], 0
push 0x20
call fcn.0040cbc0
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 + 0x8c], eax
mov ecx, eax
push edi
mov edi, dword [esp + 0x14]
push esi
call fcn.0042fff0
movzx eax, al
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x44ee34]
mov dword [esp + 0x14], 0x1fece6c3
mov dword [esp + 0x18], 0xd2dccc23
mov dword [esp + 0x1c], 0xdfcbc79f
mov dword [esp + 0x20], 0xf491d82a
mov dword [esp + 0x24], 0xd6c3dc2c
mov dword [esp + 0x28], 0xc9c9fe8b
mov dword [esp + 0x2c], 0x37d9c4ce
mov dword [esp + 0x30], 0xcfd5d4f7
mov dword [esp + 0x34], 0xb1cd
mov byte [esp + 0x38], 0
mov eax, 0x576e711c
nop
nop
movzx edx, byte [esp + eax - 0x576e7108]
lea esi, [eax - 0x56000000]
and esi, 0x14a606c
mov ecx, eax
and ecx, 0x56241113
or ecx, esi
xor edx, 0x1caeeec
xor ecx, 0x1caeeec
mov esi, edx
and esi, ecx
add ecx, edx
add esi, esi
sub ecx, esi
add ecx, 0x4ad7ca73
mov edx, ecx
xor edx, 0xeb
and ecx, 0x14
add ecx, ecx
sub ecx, edx
add cl, 0xec
mov byte [esp + eax - 0x576e7108], cl
inc eax
cmp eax, 0x576e7141
jne 0x42cfa0
mov ecx, dword [esp + 0x8c]
push ebp
call fcn.004301e0
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
jmp dword [eax*4 + 0x44ee3c]
mov eax, dword [case.0x42ca84.57]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44eeb4]
mov esi, dword [esp + 0x8c]
mov ecx, esi
call fcn.00430340
push esi
call fcn.0040cbd0
add esp, 4
mov eax, dword [esp + 0x84]
jmp dword [0x44eebc]
mov eax, dword [esp + 0x84]
jmp dword [0x44eebc]
push eax
call fcn.0040cbd0
add esp, 4
mov eax, dword [esp + 0x80]
mov dword [esp + 0x14], 0x94959a9b
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x7b17ea53]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [esp + ecx - 0x7b17ea53], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42d0a0
mov ecx, dword [0x4528cc]
test ecx, ecx
mov ebx, dword [esp + 0x74]
je 0x42d118
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x4528d0]
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d110
inc esi
cmp ecx, esi
jne 0x42d100
jmp 0x42d118
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d12f
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 8]
jmp dword [0x44eec4]
jmp dword [0x44eecc]
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
mov edi, dword [esp + 0xc4]
mov esi, dword [esp + 8]
jmp dword [0x44eec4]
add esi, 8
mov dword [esp + 4], 0
mov dword [esp + 0xc], edi
jmp 0x42d176
push dword [esp + 0x70]
call fcn.0040cbd0
add esp, 4
add esi, 4
lea ebp, [esp + 0x14]
mov esi, dword [esi]
mov eax, dword [case.0x42ca84.63]
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44ee54]
mov edx, dword [esi]
xor ebp, ebp
cmp dword [esi + 0x18], 3
jne case.default.0x42d1ac
mov ebp, dword [esi + 0x10]
test edx, edx
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44ee5c]
mov dword [esp + 0xac], edx
mov dword [esp + 0x68], esi
mov eax, ebp
mov esi, eax
inc eax
cmp byte [esi], 0
jne case.default.0x42d1e8
sub esi, ebp
inc esi
shr esi, 1
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x70], eax
jmp dword [ecx*4 + 0x44ee64]
inc ebp
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44ee64]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x42d213
mov ecx, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x42d22e
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebp + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44ee6c]
lea edi, [edx - 0x30]
cmp edi, 0xa
jb 0x42d242
mov edi, 0xffffffff
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 6
jae case.default.0x42d268
add edx, 0xffffffa9
mov edi, edx
shl ecx, 4
or ecx, edi
add ebp, 2
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44ee64]
mov byte [eax], 0
mov dword [esp + 0x6c], 0
push 0
push 0x10
push 0
push dword [esp + 0xb8]
call fcn.004303e0
add esp, 0x10
xor ecx, ecx
mov ebp, dword [esp + 8]
cmp ebp, dword [esp]
setne cl
jmp dword [ecx*4 + 0x44ee74]
mov ecx, dword [ebp]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp]
xor edi, edi
jmp dword [edi*4 + 0x44ee84]
add ebp, 8
xor ebx, ebx
cmp ebp, ecx
setne bl
jmp dword [ebx*4 + 0x44ee74]
mov edi, dword [ebp + 4]
mov ebx, edi
shr ebx, 0x1c
shl edi, 4
or edi, 1
xor ebx, edx
xor edi, eax
xor ecx, ecx
or edi, ebx
sete cl
jmp dword [ecx*4 + 0x44ee7c]
mov ecx, dword [esp]
mov edi, 1
jmp dword [edi*4 + 0x44ee84]
xor eax, eax
mov ebx, dword [esp + 0x6c]
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44ee8c]
mov esi, dword [esp + 0x68]
jmp dword [0x44ee9c]
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x70]
mov dword [esp + 0x18], eax
mov eax, 0xffffffff
lea esi, [esp + 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42d39a
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
push 0x31f26afb
push dword [0x4528d8]
call fcn.00445090
add esp, 8
lea ecx, [esp + 0x78]
push ecx
push 1
push 0
push 0
lea ecx, [esp + 0xa4]
push ecx
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ee94]
mov esi, dword [esp + 0x68]
jmp dword [0x44ee9c]
movzx eax, byte [ebx]
test al, al
mov edi, dword [esp + 0xc]
je 0x42d3cb
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 0x42d3c0
mov word [edi], 0x203a
add edi, 2
mov esi, dword [esp + 0x78]
test esi, esi
je 0x42d40b
mov eax, dword [esp + 0x7c]
mov ecx, esi
and ecx, 3
je 0x42d40f
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + ebx], dl
inc ebx
cmp ecx, ebx
jne 0x42d3f0
add edi, ebx
mov ecx, esi
sub ecx, ebx
mov ebx, edi
jmp 0x42d411
mov ebx, edi
jmp 0x42d459
mov ecx, esi
cmp esi, 4
jb 0x42d459
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [edi + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea ebx, [edi + 4]
mov byte [edi + 3], dl
mov edi, ebx
add ecx, 0xfffffffc
jne 0x42d420
mov byte [ebx], 0xa
inc ebx
mov esi, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
push 0xd80d2c4a
push dword [0x4528c0]
call fcn.00445090
add esp, 8
push dword [esp + 0x7c]
call eax
mov al, 1
mov dword [esp + 4], eax
jmp dword [0x44ee9c]
cmp esi, edi
je 0x42d4c6
mov ebx, eax
jmp 0x42d4a7
add esi, 8
cmp esi, edi
je 0x42d4b8
mov eax, dword [esi]
test eax, eax
je 0x42d4a0
push eax
call fcn.0040cbd0
add esp, 4
jmp 0x42d4a0
push dword [esp + 8]
call fcn.0040cbd0
add esp, 4
mov eax, ebx
add esp, 0xb0
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0x10]
jmp dword [0x44eee4]
mov esi, dword [esp]
mov edi, dword [esp + 0x70]
jmp dword [0x44edcc]
jmp dword [0x44edd4]
mov dword [esp + 0x14], 0x3d283659
mov dword [esp + 0x18], 0x22302039
mov dword [esp + 0x1c], 0x3d2d517d
mov dword [esp + 0x20], 0x487b2436
mov dword [esp + 0x24], 0x26353828
mov dword [esp + 0x28], 0x303f5061
mov dword [esp + 0x2c], 0x2528202d
mov word [esp + 0x30], 0x9b25
mov dword [esp + 0x32], 0
mov eax, 0x2a3d7de1
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x2a3d7dcd]
xor ecx, eax
mov edx, 1
sub edx, ecx
and edx, 1
or ecx, 1
sub ecx, edx
add cl, 0x9b
mov byte [esp + eax - 0x2a3d7dcd], cl
inc eax
cmp eax, 0x2a3d7e03
jne 0x42d540
mov ecx, ebx
push ebp
call fcn.004301e0
mov dword [esp + 0x14], 0x3d283659
mov dword [esp + 0x18], 0x22302039
mov dword [esp + 0x1c], 0x3d2d517d
mov dword [esp + 0x20], 0x487b2436
mov dword [esp + 0x24], 0x26353828
mov dword [esp + 0x28], 0x303f5061
mov dword [esp + 0x2c], 0x2528202d
mov word [esp + 0x30], 0x9b25
mov dword [esp + 0x32], 0
mov eax, 0x2a3d7de1
nop
movzx ecx, byte [esp + eax - 0x2a3d7dcd]
xor ecx, eax
mov edx, 1
sub edx, ecx
and edx, 1
or ecx, 1
sub ecx, edx
add cl, 0x9b
mov byte [esp + eax - 0x2a3d7dcd], cl
inc eax
cmp eax, 0x2a3d7e03
jne 0x42d5c0
mov ecx, ebx
push ebp
call fcn.004301e0
jmp dword [0x44ed88]
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
mov dword [esp + 0x68], ebx
jmp dword [ecx*4 + 0x44ed8c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp], 0
mov dword [esp + 0xc], 0
xor esi, esi
jmp dword [eax*4 + 0x44eda4]
mov dword [esp + 0x74], ecx
mov eax, dword [ecx]
mov dword [esp + 0x6c], eax
mov eax, dword [esp]
mov ecx, eax
sub ecx, edi
mov ebp, dword [esp + 0xc]
cmp eax, ebp
mov dword [esp + 4], ecx
je 0x42d661
mov esi, edi
jmp 0x42d6d9
mov eax, ecx
sar eax, 3
inc eax
mov ecx, edi
xor ecx, ebp
mov edx, edi
not edx
and edx, ebp
add edx, edx
sub edx, ecx
sar edx, 3
mov ebx, edx
shr ebx, 1
add ebx, edx
cmp ebx, eax
ja 0x42d684
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040cbc0
add esp, 4
mov esi, eax
test edi, edi
je 0x42d6cb
cmp edi, ebp
je 0x42d6c2
xor eax, eax
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x42d6a0
push edi
call fcn.0040cbd0
add esp, 4
lea ebp, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp + 4]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
mov ebp, dword [esp + 0x6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d700
push ebx
call fcn.0040cbc0
add esp, 4
mov ecx, dword [esp + 4]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add ebp, edx
mov ecx, ebx
shr ecx, 1
and ecx, 1
add edx, eax
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebx
inc al
test al, 1
jne 0x42d762
mov eax, ebx
and eax, 2
movzx ecx, byte [ebp + eax]
mov byte [edx + eax], cl
xor ecx, ecx
cmp ebx, 1
je 0x42d817
mov dword [esp + 8], esi
mov ecx, 0xffffffff
mov eax, 1
mov edx, dword [esp + 0x6c]
movzx edi, byte [edx + eax - 1]
lea edx, [ecx + edi]
and ecx, edi
add ecx, ecx
mov edi, edx
sub edi, ecx
mov ecx, edi
shr ecx, 1
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov ebp, edx
shr ebp, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, ebp
mov esi, edi
shl esi, 0x1d
sar esi, 0x1f
and esi, 0x76dc419
mov ebp, edi
shl ebp, 0x1c
sar ebp, 0x1f
and ebp, 0xedb8832
xor ebp, esi
mov esi, edi
shl esi, 0x1b
sar esi, 0x1f
and esi, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, esi
xor edi, ebp
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp ebx, eax
jne 0x42d770
not ecx
mov esi, dword [esp + 8]
mov eax, dword [esp + 4]
mov dword [esi + eax + 4], ecx
add dword [esp], 8
mov eax, dword [case.0x42ca84.26]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov ecx, dword [esp + 0x74]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
lea ebp, [esp + 0x14]
mov ebx, dword [esp + 0x68]
jmp dword [eax*4 + 0x44eda4]
mov dword [esp + 8], esi
mov eax, dword [case.0x42ca84.29]
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], 0x94959a9b
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x7b17ea53]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [esp + ecx - 0x7b17ea53], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42d890
mov ecx, dword [0x4528cc]
test ecx, ecx
je case.0x42ca84.40
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x4528d0]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d900
inc esi
cmp ecx, esi
jne 0x42d8f0
jmp case.0x42ca84.40
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42ca84.40
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
jmp case.0x42ca84.40
jmp dword [0x44edf8]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x14], 0x94959a9b
mov word [esp + 0x18], 0
mov byte [esp + 0x1a], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx - 0x7b17ea53]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [esp + ecx - 0x7b17ea53], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42d950
mov ecx, dword [0x4528cc]
test ecx, ecx
je 0x42d920
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [0x4528d0]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d9d0
inc esi
cmp ecx, esi
jne 0x42d9b0
jmp 0x42d920
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42d920
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
jmp dword [0x44edf8]
mov eax, dword [esp + 4]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x44eedc]
mov eax, dword [esp + 0xc]
mov byte [eax], 0
mov dword [esp + 0x14], 0x736e6959
mov dword [esp + 0x18], 0x57437a75
mov dword [esp + 0x1c], 0x50545249
mov dword [esp + 0x20], 0x4e5e7297
mov dword [esp + 0x24], 0x7b9d4449
mov dword [esp + 0x28], 0x4157425f
mov dword [esp + 0x2c], 0x4f428347
mov word [esp + 0x30], 0xb540
mov dword [esp + 0x32], 0
mov word [esp + 0x36], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
mov edx, ecx
xor edx, 0xbd
mov esi, eax
and esi, 4
sub edx, esi
add dl, 0xe8
xor dl, byte [esp + ecx + 0x14]
mov bl, 0x3d
sub bl, dl
mov byte [esp + ecx + 0x14], bl
inc ecx
add eax, 2
cmp ecx, 0x24
jne 0x42da60
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
sub edx, eax
mov ecx, edi
mov edi, eax
push edx
push eax
push ebp
call fcn.0040d730
mov dword [esp + 4], eax
mov esi, dword [esp + 8]
jmp dword [0x44eee4]
jmp dword [0x44eef0]
push edi
call fcn.0040cbd0
add esp, 4
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44eef4]
mov eax, dword [esp + 4]
and al, 1
mov edi, dword [esp]
test esi, esi
jne 0x42d48a
jmp 0x42d4c6
mov ecx, ebx
call fcn.00430340
push ebx
call fcn.0040cbd0
add esp, 4
mov ecx, ebx
call fcn.00430340
push ebx
call fcn.0040cbd0
add esp, 4
jmp dword [0x44ede0]
jmp dword [0x44ede4]
mov dword [esp], esi
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44edf0]
mov dword [esp], esi
jmp dword [0x44edf0]
push ebx
call fcn.0040cbd0
add esp, 4
push ebx
call fcn.0040cbd0
add esp, 4
jmp dword [0x44eed8]
int3
push eax
mov edi, esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov dword [ebp - 0x1c], esp
sub esp, 0x10
mov dword [ebp - 0x24], esp
sub esp, 0x14
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x14], esp
sub esp, 0x20
mov dword [ebp - 0x18], esp
sub esp, 0x18
mov dword [ebp - 0x10], esp
sub esp, 0x1c
mov dword [ebp - 0x28], esp
mov ecx, dword [0x4528c8]
mov dword [ebp - 0x34], ecx
mov dword [eax], 0x9f5f99bd
mov dword [eax + 4], 0xa3529d6c
mov dword [eax + 8], 0xa747a164
mov dword [eax + 0xc], 0xab4ba550
mov dword [eax + 0x10], 0xafaea98d
mov byte [eax + 0x14], 0
mov edx, 0x68488d5a
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax + edx - 0x68488d5a]
lea esi, [edx - 0x68488d00]
and esi, ecx
mov ebx, edx
and ebx, ecx
xor ecx, edx
lea ecx, [ecx + ebx*2]
add esi, esi
sub ecx, esi
add cl, 0x3e
mov byte [eax + edx - 0x68488d5a], cl
inc edx
cmp edx, 0x68488d6f
jne 0x42dbc0
push edi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x34]
mov eax, dword [edi]
test eax, eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x34], eax
jns 0x42dc10
mov eax, 0xffffffff
jmp 0x42dc12
add eax, eax
mov esi, dword [ebp - 0x1c]
push eax
call fcn.0040cbc0
add esp, 4
mov ecx, dword [0x4528c8]
mov dword [ebp - 0x2c], ecx
mov dword [esi], 0x37773905
mov dword [esi + 4], 0x33423544
mov dword [esi + 8], 0x4f2f316c
mov dword [esi + 0xc], 0x4b2b4dc0
mov dword [esi + 0x10], 0x47464975
mov byte [esi + 0x14], 0
mov edx, 0xb4520f36
mov ecx, 0xc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x1c]
movzx esi, byte [esi + edx + 0x4badf0ca]
mov ebx, ecx
xor ebx, edx
and ebx, esi
xor ebx, edx
mov esi, ebx
and esi, 0x304003f1
xor ebx, 0x7a65b3f1
lea ebx, [ebx + esi*2]
mov edi, ebx
xor edi, 0x7ffffffe
mov esi, ebx
or esi, 1
and esi, edi
add esi, esi
mov edi, esi
and edi, ebx
xor esi, ebx
xor esi, 1
lea ebx, [esi + edi*2]
mov esi, dword [ebp - 0x1c]
mov byte [esi + edx + 0x4badf0ca], bl
inc edx
dec ecx
cmp edx, 0xb4520f4b
jne 0x42dc60
push dword [ebp - 0x20]
push dword [ebp - 0x34]
push eax
push 9
push esi
push 0
call dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x30]
mov dword [ebx], 0xe945eba0
mov dword [ebx + 4], 0xed4bef7d
mov dword [ebx + 8], 0xd144d37d
mov dword [ebx + 0xc], 0xd5d6d774
mov eax, ebx
add eax, 0x10
mov dword [ebx + 0x10], 0
mov ecx, 0xd7
mov edi, 0x28
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [ebx + ecx - 0xd7]
mov edx, edi
xor edx, ecx
and edx, esi
xor edx, ecx
add dl, 0xcd
mov byte [ebx + ecx - 0xd7], dl
inc ecx
dec edi
cmp ecx, 0xeb
jne 0x42dd00
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x18]
mov dword [esi], 0x63fb61a4
mov dword [esi + 4], 0x67c565f7
mov dword [esi + 8], 0x5bc859c7
mov dword [esi + 0xc], 0x5f9d5df8
mov dword [esi + 0x10], 0x53cc51f1
mov dword [esi + 0x14], 0x57c455f5
mov dword [esi + 0x18], 0x4b4a49c1
mov eax, esi
add eax, 0x1c
mov dword [ebp - 0x1c], eax
mov dword [esi + 0x1c], 0
mov ecx, 0x97
mov edx, 0x91873d67
nop
nop
nop
nop
movzx ebx, byte [esi + ecx - 0x97]
lea edi, [ecx - 0x48c39eff]
lea eax, [edx + 0x6e78c2a0]
and eax, 0x1c
and edi, 0xa3
or edi, eax
lea eax, [edx + 0x6e78c300]
or eax, ebx
xor edi, 0xe3
or edi, edx
and edi, ebx
not eax
or eax, edi
add al, 8
mov byte [esi + ecx - 0x97], al
inc ecx
dec edx
cmp ecx, 0xb7
jne 0x42dd90
mov ecx, 7
mov eax, dword [ebp - 0x14]
mov edi, eax
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add eax, 0x1c
xor edx, edx
mov edi, eax
xor ecx, ecx
mov eax, dword [ebp - 0x1c]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x28]
mov dword [esi], 0x21bd2758
mov dword [esi + 4], 0x5dbf23ad
mov dword [esi + 8], 0x59cc5fcd
mov dword [esi + 0xc], 0x552a5bc4
mov dword [esi + 0x10], 0x51145738
mov eax, esi
add eax, 0x14
mov dword [esi + 0x14], 0x5350
mov byte [esi + 0x18], 0
nop
nop
movzx ecx, byte [esi + edx]
mov edi, edx
and edi, 0x16
xor edi, 0xb38fae96
mov esi, edx
and esi, 9
sub esi, edi
mov ebx, 0xb0
sub ebx, esi
add esi, 0x4f
xor ebx, esi
and ebx, ecx
xor ebx, esi
mov esi, dword [ebp - 0x28]
add bl, 0x63
mov byte [esi + edx], bl
inc edx
cmp edx, 0x19
jne 0x42de30
mov edx, dword [ebp - 0x10]
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push eax
mov dword [ebp - 0x40], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x18], esp
sub esp, 0x14
mov dword [ebp - 0x34], esp
sub esp, 0x1c
mov dword [ebp - 0x24], esp
sub esp, 0x20
mov dword [ebp - 0x14], esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x10], esp
sub esp, 0xc
mov dword [ebp - 0x80], esp
sub esp, 0x20
mov dword [ebp - 0x7c], esp
push eax
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 0x64], esp
sub esp, 0x1c
mov dword [ebp - 0x28], esp
sub esp, 8
mov dword [ebp - 0x6c], esp
sub esp, 8
mov dword [ebp - 0x60], esp
sub esp, 0x10
mov dword [ebp - 0x5c], esp
sub esp, 0x30
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov dword [ebp - 0x3c], esp
sub esp, 8
mov dword [ebp - 0x44], esp
mov ecx, dword [0x4528c8]
mov dword [ebp - 0x20], ecx
mov dword [eax], 0x9f5f99bd
mov dword [eax + 4], 0xa3529d6c
mov dword [eax + 8], 0xa747a164
mov dword [eax + 0xc], 0xab4ba550
mov dword [eax + 0x10], 0xafaea98d
mov byte [eax + 0x14], 0
mov edx, 0x68488d5a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax + edx - 0x68488d5a]
lea esi, [edx - 0x68488d00]
and esi, ecx
mov ebx, edx
and ebx, ecx
xor ecx, edx
lea ecx, [ecx + ebx*2]
add esi, esi
sub ecx, esi
add cl, 0x3e
mov byte [eax + edx - 0x68488d5a], cl
inc edx
cmp edx, 0x68488d6f
jne 0x42df40
mov esi, dword [ebp - 0x40]
push esi
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x20]
mov eax, dword [esi]
test eax, eax
mov dword [ebp - 0x2c], eax
jns 0x42df90
mov eax, 0xffffffff
jmp 0x42df92
add eax, eax
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [0x4528c8]
mov dword [ebp - 0x4c], eax
mov dword [edi], 0x37773905
mov dword [edi + 4], 0x33423544
mov dword [edi + 8], 0x4f2f316c
mov dword [edi + 0xc], 0x4b2b4dc0
mov dword [edi + 0x10], 0x47464975
mov byte [edi + 0x14], 0
mov ecx, 0xb4520f36
mov eax, 0xc9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edi + ecx + 0x4badf0ca]
mov edx, eax
xor edx, ecx
and edx, ebx
xor edx, ecx
mov ebx, edx
and ebx, 0x304003f1
xor edx, 0x7a65b3f1
lea ebx, [edx + ebx*2]
mov esi, ebx
xor esi, 0x7ffffffe
mov edx, ebx
or edx, 1
and edx, esi
add edx, edx
mov esi, edx
and esi, ebx
xor edx, ebx
xor edx, 1
lea edx, [edx + esi*2]
mov byte [edi + ecx + 0x4badf0ca], dl
inc ecx
dec eax
cmp ecx, 0xb4520f4b
jne 0x42dfe0
push dword [ebp - 0x40]
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
push 9
push edi
push 0
call dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x34]
mov dword [ebx], 0xe945eba0
mov dword [ebx + 4], 0xed4bef7d
mov dword [ebx + 8], 0xd144d37d
mov dword [ebx + 0xc], 0xd5d6d774
mov eax, ebx
add eax, 0x10
mov dword [ebx + 0x10], 0
mov ecx, 0xd7
mov esi, 0x28
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [ebx + ecx - 0xd7]
mov edx, esi
xor edx, ecx
and edx, edi
xor edx, ecx
add dl, 0xcd
mov byte [ebx + ecx - 0xd7], dl
inc ecx
dec esi
cmp ecx, 0xeb
jne 0x42e080
mov edx, dword [ebp - 0x18]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
xor ecx, ecx
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x14]
mov dword [esi], 0x63fb61a4
mov dword [esi + 4], 0x67c565f7
mov dword [esi + 8], 0x5bc859c7
mov dword [esi + 0xc], 0x5f9d5df8
mov dword [esi + 0x10], 0x53cc51f1
mov dword [esi + 0x14], 0x57c455f5
mov dword [esi + 0x18], 0x4b4a49c1
mov eax, esi
add eax, 0x1c
mov dword [esi + 0x1c], 0
mov ecx, 0x97
mov edx, 0x91873d67
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi + ecx - 0x97]
lea esi, [ecx - 0x48c39eff]
lea ebx, [edx + 0x6e78c2a0]
and ebx, 0x1c
and esi, 0xa3
or esi, ebx
lea ebx, [edx + 0x6e78c300]
or ebx, edi
xor esi, 0xe3
or esi, edx
and esi, edi
not ebx
or ebx, esi
mov esi, dword [ebp - 0x14]
add bl, 8
mov byte [esi + ecx - 0x97], bl
inc ecx
dec edx
cmp ecx, 0xb7
jne 0x42e110
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x1c
xor edx, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x10]
mov dword [esi], 0x21bd2758
mov dword [esi + 4], 0x5dbf23ad
mov dword [esi + 8], 0x59cc5fcd
mov dword [esi + 0xc], 0x552a5bc4
mov dword [esi + 0x10], 0x51145738
mov eax, esi
add eax, 0x14
mov dword [esi + 0x14], 0x5350
mov byte [esi + 0x18], 0
nop
movzx ecx, byte [esi + edx]
mov edi, edx
and edi, 0x16
xor edi, 0xb38fae96
mov esi, edx
and esi, 9
sub esi, edi
mov ebx, 0xb0
sub ebx, esi
add esi, 0x4f
xor ebx, esi
and ebx, ecx
xor ebx, esi
mov esi, dword [ebp - 0x10]
add bl, 0x63
mov byte [esi + edx], bl
inc edx
cmp edx, 0x19
jne 0x42e1b0
mov edx, dword [ebp - 0x30]
mov edi, edx
mov ecx, 5
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
mov edi, edx
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
jmp dword [0x44ef08]
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x1c]
add eax, 2
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x20]
add eax, 2
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
add eax, 2
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x44]
add eax, 4
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x28]
add eax, 0x17
mov dword [ebp - 0x78], eax
mov edi, dword [ebp - 0x7c]
mov eax, edi
add eax, 0x1a
mov dword [ebp - 0x4c], eax
xor edx, edx
lea eax, [edi + 2]
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x58], 0
jmp 0x42e28f
mov edx, dword [ebp - 0x9c]
add edx, 4
mov ecx, dword [ebp - 0x80]
mov edi, dword [ebp - 0x7c]
mov eax, dword [case.0x42ca84.113]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp edx, 0xc
setne al
jmp dword [eax*4 + 0x44ef1c]
mov dword [ebp - 0x9c], edx
mov ebx, dword [ecx + edx]
mov eax, 0xfffffffe
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42e2c0
mov dword [ebp - 0x70], eax
mov edx, eax
sar edx, 1
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
lea ecx, [edx + eax]
mov dword [ebp - 0x2c], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42e2f2
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov esi, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], eax
jmp dword [0x44ef2c]
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42e331
mov edx, dword [ebp - 0x48]
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e320
mov word [eax], 0x5c
mov dword [edi], 0x1d207e0
mov dword [edi + 4], 0xdef03f1
mov dword [edi + 8], 0x9fa0fef
mov dword [edi + 0xc], 0x15d70b28
mov dword [edi + 0x10], 0x11f517e8
mov dword [edi + 0x14], 0x1dfd13ec
mov word [edi + 0x18], 0x1f1c
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov ecx, 0xde338c1
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [edi + ecx - 0xde338c1]
mov ebx, edx
and ebx, ecx
add bl, bl
sub dl, bl
movzx edx, dl
add edx, ecx
add dl, 0x3b
mov byte [edi + ecx - 0xde338c1], dl
inc ecx
cmp ecx, 0xde338e0
jne 0x42e380
add eax, 2
mov ebx, dword [ebp - 0x18]
movzx ecx, word [ebx]
test cx, cx
je 0x42e3d1
lea edx, [ebx + 2]
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 0x42e3c0
mov word [eax], 0
jmp case.0x42ca84.119
mov word [eax], 0
mov esi, dword [ebp - 0x34]
jmp dword [0x44ef38]
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42e411
mov edx, dword [ebp - 0x48]
mov eax, esi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e400
lea esi, [ebx + 2]
mov word [eax], 0x5c
mov dword [edi], 0x1d207e0
mov dword [edi + 4], 0xdef03f1
mov dword [edi + 8], 0x9fa0fef
mov dword [edi + 0xc], 0x15d70b28
mov dword [edi + 0x10], 0x11f517e8
mov dword [edi + 0x14], 0x1dfd13ec
mov word [edi + 0x18], 0x1f1c
mov ecx, dword [ebp - 0x4c]
mov byte [ecx + 4], 0
mov dword [ecx], 0
mov edx, 0xde338c1
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edi + edx - 0xde338c1]
mov ebx, ecx
and ebx, edx
add bl, bl
sub cl, bl
movzx ecx, cl
add ecx, edx
add cl, 0x3b
mov byte [edi + edx - 0xde338c1], cl
inc edx
cmp edx, 0xde338e0
jne 0x42e460
add eax, 2
mov ebx, dword [ebp - 0x18]
movzx edx, word [ebx]
test dx, dx
je 0x42e3e0
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42e4a0
jmp 0x42e3e0
movzx ecx, word [edi]
test cx, cx
je 0x42e4e1
mov edx, dword [ebp - 0x98]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e4d0
mov word [eax], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x38]
push esi
call fcn.00445bb0
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x10], 0
jmp dword [eax*4 + 0x44ef3c]
mov eax, dword [case.0x42ca84.128]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.00445f60
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44ef54]
mov eax, dword [ebp - 0x64]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
push 0
push esi
push eax
mov eax, dword [ebp - 0x38]
push dword [eax]
call fcn.00446060
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44ef5c]
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00403b80
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x68], eax
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44ef64]
jmp dword [0x44efa4]
mov dword [ebp - 0x10], ebx
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44efac]
mov dword [ebp - 0x74], edi
jmp dword [0x44ef70]
push dword [ebp - 0x68]
call fcn.00404670
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0xb4afbabd
mov dword [eax + 4], 0xa1a2a8a2
mov dword [eax + 8], 0xbcb8b0fa
mov dword [eax + 0xc], 0xa9aaa0aa
mov dword [eax + 0x10], 0x8cbfbbbb
mov word [eax + 0x14], 0x9887
mov byte [eax + 0x16], 0xe2
mov eax, dword [ebp - 0x78]
mov dword [eax], 0
mov byte [eax + 4], 0
mov ecx, 0x4d
mov esi, 0x4161cbb2
nop
nop
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + ecx - 0x4d]
mov ebx, ecx
and ebx, eax
mov edx, ebx
and edx, 2
mov edi, ebx
or ebx, 2
imul ebx, edx
xor edx, 2
and edi, 0x7d
imul edi, edx
add ebx, edi
mov edx, esi
sub edx, eax
add eax, ecx
add eax, 0xbe9e3400
and edx, ebx
not ebx
and ebx, eax
mov eax, dword [ebp - 0x28]
sub ebx, edx
add bl, 0x7f
mov byte [eax + ecx - 0x4d], bl
inc ecx
dec esi
cmp ecx, 0x69
jne 0x42e610
push eax
push dword [ebp - 0x10]
call fcn.00404a30
add esp, 8
mov ebx, 0xffffffff
mov edx, 0xfffffffd
nop
nop
add edx, 3
cmp byte [eax + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x42e670
shr edx, 2
movzx ecx, byte [eax + ebx - 1]
cmp ecx, 0x3d
je 0x42e68f
cmp ecx, 0x2e
jne 0x42e690
dec edx
movzx ecx, byte [eax + ebx - 2]
cmp ecx, 0x3d
mov dword [ebp - 0x10], eax
je 0x42e6a2
cmp ecx, 0x2e
jne 0x42e6a3
dec edx
mov dword [ebp - 0x14], edx
test ebx, ebx
je 0x42e71d
mov edi, 2
jmp 0x42e6cc
lea eax, [edi + 4]
add edi, 2
cmp edi, ebx
mov edi, eax
jae 0x42e71d
mov esi, dword [ebp - 0x10]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00422fc0
add esp, 4
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00422fc0
add esp, 4
cmp edi, ebx
jae 0x42e6c0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + edi]
push eax
call fcn.00422fc0
add esp, 4
cmp al, 0x40
je 0x42e6c0
lea eax, [edi + 1]
cmp eax, ebx
jae 0x42e6c0
mov eax, dword [ebp - 0x10]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00422fc0
add esp, 4
jmp 0x42e6c0
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffffb
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
jmp case.0x42ca84.136
mov ecx, dword [ebp - 0xa0]
add ecx, 0xfffffffb
mov eax, dword [ebp - 0x6c]
mov dword [eax], ecx
jmp dword [0x44ef74]
push dword [ebp - 0x68]
call fcn.00404670
add esp, 4
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28]
mov dword [eax], 0xb4afbabd
mov dword [eax + 4], 0xa1a2a8a2
mov dword [eax + 8], 0xbcb8b0fa
mov dword [eax + 0xc], 0xa9aaa0aa
mov dword [eax + 0x10], 0x8cbfbbbb
mov word [eax + 0x14], 0x9887
mov byte [eax + 0x16], 0xe2
mov eax, dword [ebp - 0x78]
mov dword [eax], 0
mov byte [eax + 4], 0
mov ecx, 0x4d
mov esi, 0x4161cbb2
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x28]
movzx eax, byte [eax + ecx - 0x4d]
mov ebx, ecx
and ebx, eax
mov edx, ebx
and edx, 2
mov edi, ebx
or ebx, 2
imul ebx, edx
xor edx, 2
and edi, 0x7d
imul edi, edx
add ebx, edi
mov edx, esi
sub edx, eax
add eax, ecx
add eax, 0xbe9e3400
and edx, ebx
not ebx
and ebx, eax
mov eax, dword [ebp - 0x28]
sub ebx, edx
add bl, 0x7f
mov byte [eax + ecx - 0x4d], bl
inc ecx
dec esi
cmp ecx, 0x69
jne 0x42e7a0
push eax
push dword [ebp - 0x10]
call fcn.00404a30
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42e800
shr ecx, 2
mov esi, edx
mov dword [ebp - 0x14], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x42e824
cmp edx, 0x2e
jne 0x42e825
dec ecx
mov edx, dword [ebp - 0x14]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x24], eax
je 0x42e83a
cmp edx, 0x2e
jne 0x42e83b
dec ecx
mov dword [ebp - 0xa0], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x14], 0
je 0x42e730
xor ecx, ecx
mov esi, 2
jmp 0x42e880
mov ecx, dword [ebp - 0x90]
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42e730
mov dword [ebp - 0x10], ecx
mov edi, dword [ebp - 0x24]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00422fc0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00422fc0
mov edx, dword [ebp - 0x14]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x10]
mov byte [ecx + edi], al
lea ecx, [edi + 1]
cmp esi, edx
jae 0x42e870
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + esi]
push eax
mov edi, ecx
call fcn.00422fc0
mov ecx, edi
mov edx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
je 0x42e870
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov edi, dword [ebp - 0x10]
lea ecx, [edi + 2]
mov dword [ebp - 0x90], ecx
mov ecx, dword [ebp - 0x30]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42e863
mov eax, dword [ebp - 0x24]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00422fc0
mov edx, dword [ebp - 0x14]
add esp, 4
cmp al, 0x40
mov ecx, dword [ebp - 0x90]
je 0x42e870
shl bl, 6
add al, bl
mov ecx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x10]
mov byte [ecx + edi + 2], al
add edi, 3
mov ecx, edi
jmp 0x42e870
jmp dword [0x44ef84]
mov eax, dword [ebp - 0x30]
add eax, 5
mov esi, dword [ebp - 0x6c]
mov dword [esi + 4], eax
mov edi, dword [ebp - 0x60]
mov dword [edi], 0
mov dword [edi + 4], 0
push 0x31f26afb
push dword [0x4528d8]
call fcn.00445090
add esp, 8
push edi
push 0
push 0
push 0
push 0
push 0
push esi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ef8c]
xor ebx, ebx
mov edi, dword [ebp - 0x74]
jmp dword [0x44ef9c]
mov eax, dword [ebp - 0x70]
add eax, 0x10
cmp dword [ebp - 0x2c], 0xfffffff8
jge 0x42e9bd
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
mov ecx, dword [ebp - 0x5c]
mov dword [ecx], 0x6306615f
mov dword [ecx + 4], 0x67586514
mov dword [ecx + 8], 0x7bf2790c
mov dword [ecx + 0xc], 0x7f7e7d08
mov eax, 0x55a6ec97
nop
nop
nop
nop
nop
movzx edx, byte [ecx]
mov esi, eax
or esi, edx
lea edi, [eax - 0x55a6ec00]
and edi, edx
lea edx, [esi + esi]
not edx
add edx, esi
or edx, edi
add dl, 0xf8
mov byte [ecx], dl
inc ecx
dec eax
cmp eax, 0x55a6ec87
jne 0x42e9f0
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42ea41
mov eax, dword [ebp - 0x18]
lea edx, [eax + 2]
mov eax, ebx
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ea30
mov word [eax], 0
mov ecx, dword [ebp - 0x5c]
movzx ecx, word [ecx]
test cx, cx
mov edi, dword [ebp - 0x74]
je 0x42ea71
mov edx, dword [ebp - 0x94]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ea60
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x60]
push dword [eax]
push dword [eax + 4]
push ebx
call fcn.0040d5f0
mov ecx, ebx
mov ebx, eax
jmp dword [0x44ef94]
push ecx
call fcn.0040cbd0
add esp, 4
push 0xd80d2c4a
push dword [0x4528c0]
call fcn.00445090
add esp, 8
mov ecx, dword [ebp - 0x60]
push dword [ecx + 4]
call eax
jmp dword [0x44ef9c]
push dword [ebp - 0x30]
call fcn.0040cbd0
add esp, 4
push dword [ebp - 0x68]
call fcn.00404c20
add esp, 4
jmp dword [0x44efa4]
mov dword [ebp - 0x10], ebx
jmp dword [0x44efac]
jmp dword [0x44f004]
push edi
call fcn.0040cbd0
add esp, 4
nop
push edi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44f00c]
cmp dword [edi + esi*8], 0x7e776f1
je 0x42eb20
inc esi
cmp ecx, esi
jne 0x42eb10
jmp case.0x42ca84.151
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42ca84.151
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x54], 0x94959a9b
lea ecx, [ebp - 0x50]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + ecx - 0x7b17eabb]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [ebp + ecx - 0x7b17eabb], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42eb70
mov ecx, dword [0x4528cc]
test ecx, ecx
mov ebx, dword [ebp - 0x18]
je 0x42ebf0
mov edx, dword [ebp - 0x54]
xor esi, esi
mov edi, dword [0x4528d0]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42ebe0
inc esi
cmp ecx, esi
jne 0x42ebd0
jmp 0x42ebf0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ec81
nop
nop
nop
nop
jmp dword [0x44efb8]
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x54], 0x94959a9b
lea ecx, [ebp - 0x50]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + ecx - 0x7b17eabb]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [ebp + ecx - 0x7b17eabb], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42ec20
mov ecx, dword [0x4528cc]
test ecx, ecx
je case.0x42ca84.151
mov edx, dword [ebp - 0x54]
xor esi, esi
mov edi, dword [0x4528d0]
jmp 0x42eb10
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
jmp dword [0x44efb8]
mov esi, dword [ebp - 0x34]
jmp dword [0x44efbc]
jmp dword [0x44efc8]
push esi
call fcn.0040cbd0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44efcc]
movzx eax, byte [ebp - 0x10]
jmp dword [eax*4 + 0x44efe4]
jmp dword [0x44eff0]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42ed00
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
mov esi, dword [ebp - 0x1c]
je 0x42ed31
mov edx, dword [ebp - 0x48]
mov eax, edi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ed20
mov dword [ebp - 0x10], edi
mov word [eax], 0x5c
mov dword [esi], 0x41f247e0
mov dword [esi + 4], 0x4def43d1
mov dword [esi + 8], 0x49da4fef
mov dword [esi + 0xc], 0xb5f74b28
mov dword [esi + 0x10], 0xb127b728
mov dword [esi + 0x14], 0xbd11b322
mov dword [esi + 0x18], 0xb911bf15
mov dword [esi + 0x1c], 0xa52ebb1c
mov dword [esi + 0x20], 0xa138a70b
mov dword [esi + 0x24], 0xad36a30f
mov dword [esi + 0x28], 0xa90caf00
mov dword [esi + 0x2c], 0xaba8
mov ecx, 0x1b1011f1
mov edx, 0xe4efee0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esi + ecx - 0x1b1011f1]
xor esi, 0x396e6cc0
mov edi, ecx
and edi, 0x190000c0
or edi, 0x8400921c
mov ebx, edx
and ebx, 0xc481833f
xor ebx, edi
xor ebx, 0x7bff6de3
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
mov esi, dword [ebp - 0x1c]
add bl, 0x4b
mov byte [esi + ecx - 0x1b1011f1], bl
inc ecx
dec edx
cmp ecx, 0x1b101221
jne 0x42eda0
add eax, 2
mov ebx, dword [ebp - 0x18]
movzx ecx, word [ebx]
test cx, cx
je 0x42ee11
lea edx, [ebx + 2]
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42ee00
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x42ee43
mov edx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x3c]
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 0x42ee30
jmp 0x42ee46
mov esi, dword [ebp - 0x3c]
mov word [eax], 0
mov eax, dword [ebp - 0x70]
add eax, 0x12
cmp dword [ebp - 0x2c], 0xfffffff7
jge 0x42ee5c
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov dword [esi], 0xf76209db
mov dword [esi + 4], 0xf368f559
mov dword [esi + 8], 0xff6af15d
mov dword [esi + 0xc], 0xfb54fd50
mov word [esi + 0x10], 0xf9f8
mov dword [esi + 0x12], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
and eax, 2
xor eax, 0x82
mov edx, ecx
and edx, 0x1d
sub edx, eax
xor dl, byte [esi + ecx]
add dl, 0x8a
mov byte [esi + ecx], dl
inc ecx
cmp ecx, 0x16
jne 0x42eea0
movzx edx, word [ebx]
mov ecx, edi
test dx, dx
je 0x42eee1
lea esi, [ebx + 2]
mov ecx, edi
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42eed0
mov word [ecx], 0
mov eax, dword [ebp - 0x3c]
movzx edx, word [eax]
test dx, dx
je 0x42ef11
mov esi, dword [ebp - 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42ef00
mov word [ecx], 0
mov esi, dword [ebp - 0x44]
mov dword [esi], 0x9392917a
mov eax, dword [ebp - 0x8c]
mov byte [eax + 2], 0
mov word [eax], 0
xor ecx, ecx
mov edx, 0x1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + ecx]
mov ebx, eax
not ebx
or ebx, edx
add bl, bl
add bl, al
movzx eax, bl
add eax, ecx
add al, 0x72
mov byte [esi + ecx], al
inc ecx
dec edx
cmp ecx, 7
jne 0x42ef40
push 0
push 0
push 0xc00000
push esi
push dword [ebp - 0x10]
push edi
push dword [ebp + 8]
call fcn.00426020
add esp, 0x1c
mov ebx, dword [ebp - 0x18]
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov edx, dword [ebp - 0x2c]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x42efa0
mov eax, 0xffffffff
jmp 0x42efa9
add eax, edx
lea eax, [eax*2 + 0x2e]
mov esi, dword [ebp - 0x1c]
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov eax, dword [ebp - 0x20]
movzx ecx, word [eax]
mov eax, edi
test cx, cx
je 0x42efe1
mov edx, dword [ebp - 0x48]
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 0x42efd0
mov dword [ebp - 0x14], edi
lea ecx, [ebx + 2]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x70]
add ecx, 0x12
mov dword [ebp - 0x24], ecx
mov word [eax], 0x5c
mov dword [esi], 0x41f247e0
mov dword [esi + 4], 0x4def43d1
mov dword [esi + 8], 0x49da4fef
mov dword [esi + 0xc], 0xb5f74b28
mov dword [esi + 0x10], 0xb127b728
mov dword [esi + 0x14], 0xbd11b322
mov dword [esi + 0x18], 0xb911bf15
mov dword [esi + 0x1c], 0xa52ebb1c
mov dword [esi + 0x20], 0xa138a70b
mov dword [esi + 0x24], 0xad36a30f
mov dword [esi + 0x28], 0xa90caf00
mov dword [esi + 0x2c], 0xaba8
mov ebx, 0x1b1011f1
mov esi, 0xe4efee0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x1c]
movzx edi, byte [ecx + ebx - 0x1b1011f1]
xor edi, 0x396e6cc0
mov edx, ebx
and edx, 0x190000c0
or edx, 0x8400921c
mov ecx, esi
and ecx, 0xc481833f
xor ecx, edx
xor ecx, 0x7bff6de3
mov edx, edi
and edx, ecx
add ecx, edi
mov edi, dword [ebp - 0x1c]
add edx, edx
sub ecx, edx
add cl, 0x4b
mov byte [edi + ebx - 0x1b1011f1], cl
inc ebx
dec esi
cmp ebx, 0x1b101221
jne 0x42f060
add eax, 2
mov ebx, dword [ebp - 0x18]
movzx edx, word [ebx]
test dx, dx
je 0x42f0e1
mov esi, dword [ebp - 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42f0d0
mov word [eax], 0
movzx edx, word [edi]
test dx, dx
je 0x42f111
mov esi, dword [ebp - 0x84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x42f100
mov word [eax], 0
cmp dword [ebp - 0x2c], 0xfffffff7
mov eax, dword [ebp - 0x24]
jge 0x42f124
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov esi, dword [ebp - 0x3c]
mov dword [esi], 0xf76209db
mov dword [esi + 4], 0xf368f559
mov dword [esi + 8], 0xff6af15d
mov dword [esi + 0xc], 0xfb54fd50
mov word [esi + 0x10], 0xf9f8
mov dword [esi + 0x12], 0
xor eax, eax
nop
nop
nop
nop
mov edx, eax
and edx, 2
xor edx, 0x82
mov ecx, eax
and ecx, 0x1d
sub ecx, edx
xor cl, byte [esi + eax]
add cl, 0x8a
mov byte [esi + eax], cl
inc eax
cmp eax, 0x16
jne 0x42f160
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
mov edx, dword [ebp - 0x10]
je 0x42f1a1
mov eax, edi
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42f190
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x42f1e0
mov edx, dword [ebp - 0x88]
mov esi, dword [ebp - 0x44]
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 0x42f1c0
jmp 0x42f1e3
mov esi, dword [ebp - 0x44]
mov word [eax], 0
mov dword [esi], 0x9392917a
mov eax, dword [ebp - 0x8c]
mov byte [eax + 2], 0
mov word [eax], 0
xor eax, eax
mov ecx, 0x1b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esi + eax]
mov ebx, edx
not ebx
or ebx, ecx
add bl, bl
add bl, dl
movzx edx, bl
add edx, eax
add dl, 0x72
mov byte [esi + eax], dl
inc eax
dec ecx
cmp eax, 7
jne 0x42f210
push 0
push 0
push 0xc00000
push esi
push dword [ebp - 0x14]
push edi
push dword [ebp + 8]
call fcn.00426020
add esp, 0x1c
mov ebx, dword [ebp - 0x18]
jmp dword [0x44eff8]
mov ecx, dword [ebp - 0x58]
and cl, 1
or cl, al
mov dword [ebp - 0x58], ecx
jmp dword [0x44effc]
mov esi, dword [ebp - 0x14]
jmp dword [0x44f014]
jmp dword [0x44f01c]
push esi
call fcn.0040cbd0
add esp, 4
nop
nop
nop
nop
nop
push esi
call fcn.0040cbd0
add esp, 4
jmp dword [0x44f024]
jmp dword [0x44ef24]
push dword [ebp - 0x20]
call fcn.0040cbd0
add esp, 4
jmp case.0x42ca84.118
mov eax, dword [ebp - 0x58]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebx], 0xb2aeacb6
mov dword [ebx + 4], 0xced5c8aa
mov word [ebx + 8], 0xd27
mov byte [ebx + 0xa], 0x62
mov eax, dword [ebp - 0x70]
mov byte [eax + 4], 0
mov dword [eax], 0
mov eax, 0x23c8d5bb
mov ecx, 0x4372a44
nop
nop
movzx esi, byte [ebx + eax - 0x23c8d5bb]
mov edi, ecx
and edi, 0x4060a0a
mov edx, eax
and edx, 0x210051f5
or edx, edi
xor edx, esi
mov esi, edx
xor esi, 0xa
mov edi, edx
and edi, 0x27
xor edi, 0x7d
add edi, esi
xor edx, 0x52
lea edx, [edx + edi*2]
add dl, 3
mov byte [ebx + eax - 0x23c8d5bb], dl
inc eax
dec ecx
cmp eax, 0x23c8d5cb
jne 0x42f2f0
movzx ecx, byte [ebx]
test cl, cl
je 0x42f380
mov eax, ebx
mov esi, dword [ebp - 0x14]
mov edx, esi
mov dword [ebp - 0x10], esi
mov edi, dword [ebp - 0x34]
jmp 0x42f362
mov esi, dword [ebp - 0x10]
inc esi
mov eax, esi
mov dword [ebp - 0x10], esi
mov eax, ebx
movzx ecx, byte [eax]
test cl, cl
je 0x42f397
movzx edx, byte [esi]
test dl, dl
je 0x42f390
cmp dl, cl
jne 0x42f350
inc eax
inc esi
jmp 0x42f35b
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
mov edi, dword [ebp - 0x34]
jmp 0x42f397
mov dword [ebp - 0x10], 0
xor eax, eax
mov edx, dword [ebp - 0x10]
test edx, edx
sete al
jmp dword [eax*4 + 0x44f074]
lea ecx, [edx + 0xa]
movzx eax, byte [edx + 0xa]
xor esi, esi
test al, al
mov dword [ebp - 0x14], ecx
je 0x42f3d2
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42f3d0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f3c0
jmp 0x42f3d2
mov esi, ecx
mov ecx, esi
sub ecx, dword [ebp - 0x14]
xor eax, eax
mov edx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x44f07c]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x44f094]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44f09c]
xor eax, eax
cmp byte [esi - 3], 0x74
setne al
jmp dword [eax*4 + 0x44f0a4]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44f0ac]
mov eax, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], esi
jmp dword [0x44f0b8]
mov ecx, dword [ebp - 0x28]
mov eax, ecx
inc eax
lea eax, [ecx + ecx + 2]
jns 0x42f452
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov ecx, eax
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x28]
lea eax, [ecx + eax*2]
mov esi, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x1c], eax
cmp ecx, eax
jae 0x42f4bb
mov esi, dword [ebp - 0x18]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x20]
jae 0x42f4bb
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x42f4bb
lea eax, [ebp - 0x30]
push eax
mov edi, dword [ebp - 0x20]
push edi
push ebx
call fcn.00411cc0
add esp, 0xc
movzx ecx, word [ebp - 0x30]
mov word [esi], cx
add esi, 2
cmp esi, dword [ebp - 0x1c]
jae 0x42f4bb
add ebx, eax
cmp ebx, edi
jb 0x42f490
mov word [esi], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
push dword [ebp - 0x18]
call fcn.00445bb0
add esp, 0x14
mov esi, dword [ebp - 0x20]
jmp case.0x42f3e4.15
mov word [ebx], 0
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
mov edi, dword [ebp - 0x18]
push edi
call fcn.00445bb0
add esp, 0x14
mov ebx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x20]
jmp dword [0x44f0c0]
mov eax, dword [ebp - 0x28]
inc eax
mov eax, dword [ebp - 0x24]
jns 0x42f517
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov dword [ebp - 0x18], eax
mov edi, esi
test esi, esi
jne 0x42f53b
mov eax, dword [ebp - 0x10]
add eax, 9
nop
lea edi, [eax + 1]
cmp byte [eax + 1], 0
mov eax, edi
jne 0x42f530
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
lea ecx, [eax + ecx*2]
add ecx, 2
mov dword [ebp - 0x30], 0
add ecx, 0xfffffffe
mov ebx, eax
mov dword [ebp - 0x1c], ecx
cmp eax, ecx
jae 0x42f4e0
mov ebx, dword [ebp - 0x18]
cmp dword [ebp - 0x14], edi
jae 0x42f4e0
mov ebx, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
nop
nop
nop
nop
cmp byte [esi], 0
je 0x42f4e0
lea eax, [ebp - 0x30]
push eax
push edi
push esi
call fcn.00411cc0
add esp, 0xc
movzx ecx, word [ebp - 0x30]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [ebp - 0x1c]
jae 0x42f4e0
add esi, eax
cmp esi, edi
jb 0x42f570
jmp 0x42f4e0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44f0c4]
jmp 0x42fa65
push 0
mov edi, dword [ebp - 0x44]
push edi
mov esi, dword [ebp - 0x3c]
push dword [esi]
call fcn.00445f60
add esp, 0xc
test eax, eax
setns al
mov edx, dword [edi]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44f0dc]
jmp dword [0x44f0e8]
push edx
mov ebx, edx
call fcn.0040cbc0
add esp, 4
push 0
push ebx
push eax
push dword [esi]
call fcn.00446060
mov edx, ebx
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push edx
mov edi, edx
call fcn.0040cbc0
add esp, 4
mov ebx, eax
push 0
mov eax, dword [ebp - 0x44]
push dword [eax]
push ebx
push dword [esi]
call fcn.00446060
mov edx, edi
add esp, 0x10
jmp dword [0x44f0ec]
mov dword [ebp - 0x50], ebx
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44f0f4]
xor edx, edx
mov edi, dword [ebp - 0x18]
mov ecx, edi
mov ebx, dword [ebp - 0x40]
jmp 0x42f668
add ecx, 2
test si, si
je 0x42f679
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42f660
mov edx, eax
jmp 0x42f660
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44f0fc]
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x24], 0
mov edx, dword [ebp - 0x10]
jmp dword [0x44f108]
mov ecx, eax
xor ecx, edi
not edi
and edi, eax
add edi, edi
sub edi, ecx
sar edi, 1
lea eax, [edi + 1]
mov dword [ebp - 0x24], eax
not edi
add edi, dword [ebp - 0x28]
mov dword [ebp - 0x4c], edi
mov edx, dword [ebp - 0x10]
jmp dword [0x44f108]
mov eax, dword [ebp - 0x4c]
add eax, 0x1b
push eax
call fcn.0040cbc0
add esp, 4
mov edi, eax
mov ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x24]
mov dword [ebx], 0x181a182b
mov dword [ebx + 4], 0x1f091b1e
mov dword [ebx + 8], 0x1e385318
mov dword [ebx + 0xc], 0x44031c1c
mov dword [ebx + 0x10], 0x120e0a26
mov dword [ebx + 0x14], 0x501a1808
mov word [ebx + 0x18], 0xb251
mov byte [ebx + 0x1a], 0x82
mov eax, dword [ebp - 0x60]
mov word [eax], 0
mov byte [eax + 2], 0
xor eax, eax
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x67
xor dl, byte [ebx + eax]
add dl, 0xfd
mov byte [ebx + eax], dl
inc eax
cmp eax, 0x1e
jne 0x42f720
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x24]
add edx, eax
movzx ebx, byte [ebx]
mov eax, edi
test bl, bl
je 0x42f755
mov esi, dword [ebp - 0x58]
mov eax, edi
mov byte [eax], bl
inc eax
movzx ebx, byte [esi]
inc esi
test bl, bl
jne 0x42f74a
mov dword [ebp - 0x1c], edi
mov byte [eax], 0
test ecx, ecx
je 0x42f797
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 0x24]
add edi, esi
mov ebx, dword [ebp - 0x20]
sub ebx, edi
add ebx, 0xfffffff5
mov esi, ecx
and esi, 3
je 0x42f79e
mov dword [ebp - 0x54], ebx
xor edi, edi
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp esi, edi
jne 0x42f77b
add eax, edi
sub ecx, edi
mov edi, eax
mov ebx, dword [ebp - 0x54]
jmp 0x42f79e
mov edi, eax
mov esi, dword [ebp - 0x10]
jmp 0x42f7df
cmp ebx, 3
mov esi, dword [ebp - 0x10]
jb 0x42f7df
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add ecx, 0xfffffffc
jne 0x42f7a6
mov byte [edi], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
push dword [eax]
push dword [ebp - 0x50]
push dword [ebp - 0x1c]
call fcn.0040d730
mov ebx, dword [ebp - 0x40]
mov edx, esi
jmp case.0x42ca84.238
mov esi, ecx
mov byte [esi], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
push dword [eax]
push dword [ebp - 0x50]
push dword [ebp - 0x1c]
call fcn.0040d730
mov esi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x10]
jmp dword [0x44f110]
mov ecx, dword [ebp - 0x20]
mov eax, ecx
mov esi, dword [ebp - 0x24]
sub eax, esi
sub eax, edx
add eax, 0xfffffff6
mov dword [ebp - 0x64], eax
mov eax, edx
mov edx, ecx
xor edx, 2
add eax, esi
sub edx, eax
mov dword [ebp - 0x68], edx
sub ecx, eax
add ecx, 0xfffffff5
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp - 0x4c]
add eax, 0x1b
push eax
call fcn.0040cbc0
add esp, 4
mov edi, dword [ebp - 0x28]
sub edi, esi
mov dword [ebx], 0x181a182b
mov dword [ebx + 4], 0x1f091b1e
mov dword [ebx + 8], 0x1e385318
mov dword [ebx + 0xc], 0x44031c1c
mov dword [ebx + 0x10], 0x120e0a26
mov dword [ebx + 0x14], 0x501a1808
mov word [ebx + 0x18], 0xb251
mov byte [ebx + 0x1a], 0x82
mov ecx, dword [ebp - 0x60]
mov word [ecx], 0
mov byte [ecx + 2], 0
xor ecx, ecx
mov edx, ecx
add dl, 0x67
xor dl, byte [ebx + ecx]
add dl, 0xfd
mov byte [ebx + ecx], dl
inc ecx
cmp ecx, 0x1e
jne 0x42f8a0
movzx edx, byte [ebx]
mov dword [ebp - 0x1c], eax
mov ecx, eax
test dl, dl
je 0x42f8db
mov esi, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x42f8d0
mov byte [ecx], 0
test edi, edi
je 0x42f7fc
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x24]
add edx, esi
mov esi, dword [ebp - 0x68]
and esi, 3
je 0x42f925
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + eax], bl
inc eax
cmp esi, eax
jne 0x42f900
add ecx, eax
mov edi, dword [ebp - 0x64]
sub edi, eax
mov esi, ecx
cmp dword [ebp - 0x54], 3
jae 0x42f930
jmp 0x42f7fe
cmp dword [ebp - 0x54], 3
jb 0x42f7fe
nop
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + 1], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
mov byte [ecx + 2], bl
movzx ebx, byte [edx]
cmp bl, 1
sbb edx, 0xffffffff
lea esi, [ecx + 4]
mov byte [ecx + 3], bl
mov ecx, esi
add edi, 0xfffffffc
jne 0x42f930
jmp 0x42f7fe
mov ecx, dword [ebp - 0x38]
and cl, 1
or cl, al
mov dword [ebp - 0x38], ecx
jmp dword [0x44f114]
push dword [ebp - 0x1c]
call fcn.0040cbd0
add esp, 4
mov eax, dword [case.0x42ca84.245]
nop
jmp eax
jmp dword [0x44f12c]
mov eax, dword [esi]
mov dword [ebp - 0x30], 0x94959a9b
lea ecx, [ebp - 0x2c]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + ecx - 0x7b17ea97]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [ebp + ecx - 0x7b17ea97], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42f9d0
mov ecx, dword [0x4528cc]
test ecx, ecx
je 0x42fa40
mov edx, dword [ebp - 0x30]
xor esi, esi
mov edi, dword [0x4528d0]
mov ebx, dword [ebp - 0x48]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42fa45
inc esi
cmp ecx, esi
jne 0x42fa30
jmp 0x42fa5f
mov ebx, dword [ebp - 0x48]
jmp 0x42fa5f
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42fa5f
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
mov eax, dword [0x44f140]
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [0x44f168]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push eax
mov dword [ebp - 0x10], esp
sub esp, 0x40
mov eax, esp
sub esp, 0x44
mov edi, esp
push eax
mov dword [ebp - 0x34], esp
push eax
mov dword [ebp - 0x14], esp
sub esp, 0x10
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x3c], esp
push eax
mov dword [ebp - 0x44], esp
sub esp, 0x20
mov dword [ebp - 0x40], esp
mov ecx, dword [0x4528c8]
mov dword [ebp - 0x1c], ecx
mov dword [eax], 0x692d6b4f
mov dword [eax + 4], 0x6d1e6f18
mov dword [eax + 8], 0x71157328
mov dword [eax + 0xc], 0x75117704
mov dword [eax + 0x10], 0x79267b5f
mov dword [eax + 0x14], 0x7d0f7f2a
mov dword [eax + 0x18], 0x81e98308
mov dword [eax + 0x1c], 0x85e187f0
mov dword [eax + 0x20], 0x89a78be0
mov dword [eax + 0x24], 0x8dd28fa5
mov dword [eax + 0x28], 0x91f993f9
mov dword [eax + 0x2c], 0x95e397e5
mov dword [eax + 0x30], 0x99eb9bfb
mov dword [eax + 0x34], 0x9dac9fea
mov dword [eax + 0x38], 0xa1d1a3e4
mov dword [eax + 0x3c], 0xa5a6a7cc
mov edx, 0xef622de7
mov esi, 0x18
nop
nop
movzx ebx, byte [eax + edx + 0x109dd219]
mov ecx, ebx
not ecx
or ecx, esi
or ebx, edx
and ebx, ecx
mov ecx, ebx
not ecx
lea ecx, [ebx + ecx*2]
mov bl, 0x7b
sub bl, cl
mov byte [eax + edx + 0x109dd219], bl
inc edx
dec esi
cmp edx, 0xef622e27
jne 0x42fb70
mov esi, dword [ebp - 0x10]
push esi
push 0
push 0
push 0x1f
push eax
push 0
call dword [ebp - 0x1c]
mov esi, dword [esi]
lea eax, [esi + esi]
test esi, esi
jns 0x42fbbc
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov ebx, eax
mov eax, dword [0x4528c8]
mov dword [edi], 0x57974965
mov dword [edi + 4], 0x53a255a4
mov dword [edi + 8], 0x5fbf519c
mov dword [edi + 0xc], 0x5bbb5da0
mov dword [edi + 0x10], 0x67825975
mov dword [edi + 0x14], 0x639165b6
mov dword [edi + 0x18], 0x6f83619c
mov dword [edi + 0x1c], 0x6b8b6d9c
mov dword [edi + 0x20], 0x77416984
mov dword [edi + 0x24], 0x73967543
mov dword [edi + 0x28], 0x7f93718f
mov dword [edi + 0x2c], 0x7b857d83
mov dword [edi + 0x30], 0x7f57991
mov dword [edi + 0x34], 0x33005f6
mov dword [edi + 0x38], 0xffb01f8
mov dword [edi + 0x3c], 0xb0a0df8
mov dword [edi + 0x40], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x8e
xor dl, byte [edi + ecx]
add dl, 0x3a
mov byte [edi + ecx], dl
inc ecx
cmp ecx, 0x44
jne 0x42fc50
push dword [ebp - 0x10]
push esi
push ebx
push 0x1f
push edi
push 0
call eax
push 0x60
push 3
push 0x120089
mov edi, dword [ebp - 0x34]
push edi
push ebx
call fcn.00445bb0
add esp, 0x14
jmp dword [0x44f054]
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x40
mov eax, esp
sub esp, 0x44
mov dword [ebp - 0x10], esp
push eax
mov dword [ebp - 0x3c], esp
mov ecx, dword [0x4528c8]
mov dword [ebp - 0x34], ecx
mov dword [eax], 0x692d6b4f
mov dword [eax + 4], 0x6d1e6f18
mov dword [eax + 8], 0x71157328
mov dword [eax + 0xc], 0x75117704
mov dword [eax + 0x10], 0x79267b5f
mov dword [eax + 0x14], 0x7d0f7f2a
mov dword [eax + 0x18], 0x81e98308
mov dword [eax + 0x1c], 0x85e187f0
mov dword [eax + 0x20], 0x89a78be0
mov dword [eax + 0x24], 0x8dd28fa5
mov dword [eax + 0x28], 0x91f993f9
mov dword [eax + 0x2c], 0x95e397e5
mov dword [eax + 0x30], 0x99eb9bfb
mov dword [eax + 0x34], 0x9dac9fea
mov dword [eax + 0x38], 0xa1d1a3e4
mov dword [eax + 0x3c], 0xa5a6a7cc
mov edx, 0xef622de7
mov esi, 0x18
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [eax + edx + 0x109dd219]
mov ecx, edi
not ecx
or ecx, esi
or edi, edx
and edi, ecx
mov ecx, edi
not ecx
lea ecx, [edi + ecx*2]
mov bl, 0x7b
sub bl, cl
mov byte [eax + edx + 0x109dd219], bl
inc edx
dec esi
cmp edx, 0xef622e27
jne 0x42fd30
mov ebx, dword [ebp - 0x1c]
push ebx
push 0
push 0
push 0x1f
push eax
push 0
call dword [ebp - 0x34]
mov edi, dword [ebx]
lea eax, [edi + edi]
test edi, edi
jns 0x42fd7c
mov eax, 0xffffffff
push eax
call fcn.0040cbc0
add esp, 4
mov esi, eax
mov eax, dword [0x4528c8]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x57974965
mov dword [ecx + 4], 0x53a255a4
mov dword [ecx + 8], 0x5fbf519c
mov dword [ecx + 0xc], 0x5bbb5da0
mov dword [ecx + 0x10], 0x67825975
mov dword [ecx + 0x14], 0x639165b6
mov dword [ecx + 0x18], 0x6f83619c
mov dword [ecx + 0x1c], 0x6b8b6d9c
mov dword [ecx + 0x20], 0x77416984
mov dword [ecx + 0x24], 0x73967543
mov dword [ecx + 0x28], 0x7f93718f
mov dword [ecx + 0x2c], 0x7b857d83
mov dword [ecx + 0x30], 0x7f57991
mov dword [ecx + 0x34], 0x33005f6
mov dword [ecx + 0x38], 0xffb01f8
mov dword [ecx + 0x3c], 0xb0a0df8
mov dword [ecx + 0x40], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x8e
mov eax, dword [ebp - 0x10]
xor dl, byte [eax + ecx]
add dl, 0x3a
mov eax, dword [ebp - 0x10]
mov byte [eax + ecx], dl
mov edx, dword [ebp - 0x10]
inc ecx
cmp ecx, 0x44
jne 0x42fe10
push ebx
push edi
push esi
push 0x1f
push edx
push 0
call dword [ebp - 0x34]
push 0x60
push 3
push 0x120089
push dword [ebp - 0x3c]
push esi
call fcn.00445bb0
add esp, 0x14
jmp case.0x42ca84.192
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44f05c]
xor eax, eax
jmp dword [0x44f184]
push 0
mov esi, dword [ebp - 0x14]
push esi
push dword [edi]
call fcn.00445f60
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x6c], ebx
jmp dword [eax*4 + 0x44f064]
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.0040cbc0
add esp, 4
push 0
push esi
mov dword [ebp - 0x5c], eax
push eax
push dword [edi]
call fcn.00446060
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x38], 0
mov ebx, dword [ebp - 0x48]
jmp dword [eax*4 + 0x44f06c]
jmp dword [0x44f16c]
mov eax, dword [edi]
mov dword [ebp - 0x30], 0x94959a9b
mov word [ebp - 0x2c], 0
mov byte [ebp - 0x2a], 0
mov ecx, 0x7b17ea67
mov edx, 0xdec5faa8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + ecx - 0x7b17ea97]
lea esi, [ecx - 1]
and esi, ebx
add esi, esi
mov edi, ebx
sub edi, esi
add edi, ecx
sub esi, ebx
add esi, edx
and esi, 0xc
mov ebx, edi
and ebx, 0xf3
sub ebx, esi
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
add bl, 0xc
mov byte [ebp + ecx - 0x7b17ea97], bl
inc ecx
dec edx
cmp ecx, 0x7b17ea6e
jne 0x42ff20
mov ecx, dword [0x4528cc]
test ecx, ecx
mov ebx, dword [ebp - 0x6c]
je 0x42ff98
mov edx, dword [ebp - 0x30]
xor esi, esi
mov edi, dword [0x4528d0]
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42ff90
inc esi
cmp ecx, esi
jne 0x42ff80
jmp 0x42ff98
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42ffd3
mov eax, dword [ebp - 0x38]
and al, 1
jmp dword [0x44f184]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x5c]
mov byte [ecx + eax], 0
mov eax, ebx
add eax, 0xb
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x40]
lea edx, [eax + 0x1b]
mov dword [ebp - 0x60], edx
inc eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x14], ecx
jmp 0x42f2c0
push eax
push 1
push dword [0x4528d4]
push ecx
call fcn.004428e0
add esp, 0x10
mov eax, dword [ebp - 0x38]
and al, 1
jmp dword [0x44f184]
enter 0x42, 0x49
enter 0x42, 0x7c
leave
inc edx
add byte [ebp + 0x560042c9], dl
retf 0x42
retf 0x42
inc edx
add byte [eax + 0x10042fa], dl
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add bl, ch
inc edx
add bl, bh
inc edx
add byte [eax + 0xb0042fa], dl
hlt