Function at 0x42cfc5
Capabilities:
Copy file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x460
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x5c], 0xe91eeb11
mov dword [esp + 0x60], 0xed09ef03
mov dword [esp + 0x64], 0xf1c0f31f
mov dword [esp + 0x68], 0xf50ef71b
mov dword [esp + 0x6c], 0xf9fafb1f
mov word [esp + 0x70], 0
mov byte [esp + 0x72], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0x16
ja 0x42c34b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x18]
push eax
call fcn.0042f6a0
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x17
jb 0x42c320
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x40]
push eax
call fcn.00443950
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4521d4]
lea ecx, [esp + 0x40]
push 0x410
call fcn.00443b50
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4521dc]
xor ebx, ebx
jmp dword [0x4521f0]
mov dword [esp + 0x5c], 0x163f601d
mov dword [esp + 0x60], 0x780e3518
mov dword [esp + 0x64], 0xc750f29
mov dword [esp + 0x68], 0x137a0a2d
mov dword [esp + 0x6c], 0x78272e12
mov dword [esp + 0x70], 0x7b5c2a25
mov dword [esp + 0x74], 0x7e715a76
mov dword [esp + 0x78], 0x725b7c67
mov dword [esp + 0x7c], 0x5a68626e
mov dword [esp + 0x80], 0x6a474d69
mov dword [esp + 0x84], 0x87564949
mov word [esp + 0x88], 0
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 0x2d
ja 0x42c43b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 0x18]
push eax
call fcn.0042f720
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 0x2e
jb 0x42c410
lea eax, [esp + 0x18]
lea ecx, [esp + 0x40]
push 0
push 0x2b
lea edx, [esp + 0x64]
push edx
push eax
call fcn.004446f0
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
xor eax, eax
cmp edi, esi
sete al
jmp dword [eax*4 + 0x452204]
mov eax, esi
sub eax, edi
sar eax, 3
mov edx, eax
and edx, 0x421
mov ecx, eax
or eax, 0x421
imul eax, edx
xor edx, 0x421
and ecx, 0xfffffbde
imul ecx, edx
add eax, ecx
push eax
call fcn.0040c610
add esp, 4
mov dword [esp + 0x3c], 0
xor ecx, ecx
cmp edi, esi
setne cl
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], eax
jmp dword [ecx*4 + 0x45220c]
mov ebx, dword [esp + 0x3c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x452214]
mov esi, dword [esp + 0x38]
jmp dword [0x452284]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x58]
add edi, 8
xor eax, eax
mov esi, dword [esp + 0x54]
cmp edi, esi
setne al
jmp dword [eax*4 + 0x45220c]
mov dword [esp + 0x54], esi
mov esi, dword [edi]
mov dword [esp + 0x58], edi
mov edi, dword [edi + 4]
push 0x400
push 0
lea ebx, [esp + 0x64]
push ebx
call fcn.0040c690
add esp, 0xc
lea eax, [esp + 8]
lea ecx, [esp + 0x40]
push eax
push 0
push 0x400
push ebx
push edi
push esi
call fcn.004444b0
cmp eax, 0xc0000000
setae al
mov ecx, dword [esp + 8]
or ecx, dword [esp + 0xc]
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x45221c]
mov eax, 1
mov edi, dword [esp + 0x24]
jmp dword [eax*4 + 0x452224]
xor eax, eax
mov edi, dword [esp + 0x24]
jmp dword [eax*4 + 0x452224]
mov byte [esp + 0x45b], 0
movzx eax, byte [esp + 0x5c]
xor esi, esi
test al, al
je 0x42c5b1
lea ecx, [esp + 0x5c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c5af
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c5a0
jmp 0x42c5b1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x45222c]
movzx eax, byte [esi + 1]
inc esi
xor ebx, ebx
test al, al
je 0x42c5e1
mov ecx, esi
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c5df
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c5d0
jmp 0x42c5e1
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x452234]
mov edx, ebx
sub edx, esi
mov eax, edx
and eax, 3
mov edi, edx
or edi, 3
imul edi, eax
xor eax, 3
mov ecx, edx
and ecx, 0xfffffffc
imul ecx, eax
add edi, ecx
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x42c61e
cmp eax, 0x2e
jne 0x42c61f
dec edi
movzx eax, byte [esi + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x30], edx
je 0x42c632
cmp eax, 0x2e
jne 0x42c633
dec edi
mov dword [esp + 0x50], edi
lea eax, [edi + 1]
push eax
call fcn.0040c610
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], esi
cmp ebx, esi
je 0x42c748
xor ebx, ebx
mov esi, 2
jmp 0x42c670
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42c748
mov dword [esp + 0x2c], ebx
mov edi, dword [esp + 0x34]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.004212c0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.004212c0
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov byte [edx + ebx], cl
mov ecx, dword [esp + 0x2c]
lea ebx, [ecx + 1]
mov edx, dword [esp + 0x30]
cmp esi, edx
jae 0x42c660
mov byte [esp + 7], al
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + esi]
push eax
call fcn.004212c0
mov edx, dword [esp + 0x34]
add esp, 4
cmp al, 0x40
je 0x42c660
mov ch, al
movzx eax, byte [esp + 7]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
mov edi, dword [esp + 0x2c]
lea ebx, [edi + 2]
mov eax, dword [esp + 0x28]
mov byte [eax + edi + 1], cl
lea eax, [esi + 1]
cmp eax, edx
jae 0x42c660
mov eax, dword [esp + 0x34]
movzx eax, byte [eax + esi + 1]
push eax
mov byte [esp + 0xb], ch
call fcn.004212c0
movzx ecx, byte [esp + 0xb]
mov edx, dword [esp + 0x34]
add esp, 4
cmp al, 0x40
je 0x42c660
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov byte [ecx + ebx + 2], al
add ebx, 3
jmp 0x42c660
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x28]
mov byte [esi + eax], 0
push esi
call fcn.00403c00
add esp, 4
mov ebx, eax
jmp dword [0x45223c]
jmp dword [0x452244]
mov esi, eax
mov dword [esp + 8], 0x89340001
lea eax, [esp + 0xc]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 6
ja 0x42c7cb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 8]
push dword [esp + 0x14]
push eax
call fcn.0042f7a0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 7
jb 0x42c7a0
lea eax, [esp + 8]
push eax
push esi
call fcn.004044d0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x45226c]
jmp 0x42c813
movzx ecx, byte [eax]
test cl, cl
je 0x42c80b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x42c800
mov word [edi], 0x203a
add edi, 2
movzx eax, byte [esp + 0x5c]
test al, al
je 0x42c82b
lea ecx, [esp + 0x5d]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x42c820
mov byte [edi], 0xa
inc edi
mov al, 1
mov dword [esp + 0x3c], eax
jmp dword [0x452278]
jmp dword [0x452278]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x452264]
mov edi, dword [esp + 0x24]
jmp dword [0x452258]
push ebx
call fcn.00404580
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00404580
add esp, 4
jmp dword [0x45225c]
push esi
call fcn.0040c620
add esp, 4
push esi
call fcn.0040c620
add esp, 4
jmp dword [0x45224c]
push ebx
call fcn.004047f0
add esp, 4
push ebx
call fcn.004047f0
add esp, 4
jmp dword [0x45227c]
xor ebx, ebx
test edi, edi
jne 0x42c98a
jmp case.0x42c35e.1
mov edi, dword [esp + 0x24]
mov byte [edi], 0
mov dword [esp + 0x5c], 0xbfb2b1e1
mov dword [esp + 0x60], 0xb3c7c6bd
mov dword [esp + 0x64], 0x48444641
mov dword [esp + 0x68], 0x3a4a2e03
mov dword [esp + 0x6c], 0x270d4c31
mov dword [esp + 0x70], 0x49334e4b
mov dword [esp + 0x74], 0x435e175b
mov word [esp + 0x78], 0xcd58
mov dword [esp + 0x7a], 0
mov byte [esp + 0x7e], 0
mov esi, dword [esp + 0x38]
sub edi, esi
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x22
ja 0x42c95b
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
movzx eax, byte [esp + eax + 0x5c]
push dword [esp + 8]
push eax
call fcn.0042f820
add esp, 8
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x5c], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x23
jb 0x42c930
lea eax, [esp + 0x5c]
mov ecx, dword [ebp + 8]
push edi
push esi
push eax
call fcn.0040d3d0
mov ebx, eax
jmp dword [0x452284]
push esi
call fcn.0040c620
add esp, 4
and bl, 1
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
test edi, edi
je case.0x42c35e.1
cmp edi, esi
je case.0x42c35e.1
push edi
call fcn.0040c620
add esp, 4
lea ecx, [esp + 0x40]
call fcn.00443cc0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
mov eax, dword [case.0x42cc7b.25]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x45233c]
mov ecx, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42ca00
sub eax, ebp
cmp eax, 0xffffffd9
jge 0x42cea9
mov eax, 0xffffffff
jmp 0x42ceac
xor ecx, ecx
test eax, eax
sete cl
mov esi, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x452324]
jmp dword [eax*4 + 0x45228c]
mov dword [esp + 0x18], 0x37d839dc
mov dword [esp + 0x1c], 0x33e935e9
mov dword [esp + 0x20], 0xcf2131e9
mov dword [esp + 0x24], 0xcb24cd20
mov dword [esp + 0x28], 0xc722c921
mov dword [esp + 0x2c], 0xc303c511
mov dword [esp + 0x30], 0xdf06c11f
mov dword [esp + 0x34], 0xdb08dd05
mov dword [esp + 0x38], 0xd732d905
mov dword [esp + 0x3c], 0xd301d53b
mov dword [esp + 0x40], 0xef02d10a
mov dword [esp + 0x44], 0xeb2bed07
mov dword [esp + 0x48], 0xe73be906
mov dword [esp + 0x4c], 0xe308e500
mov dword [esp + 0x50], 0xff0ae101
mov dword [esp + 0x54], 0xfb07fd76
mov dword [esp + 0x58], 0xf719f91c
mov dword [esp + 0x5c], 0xf30ff578
mov dword [esp + 0x60], 0x8f7bf111
mov word [esp + 0x64], 0x8d8c
mov dword [esp + 0x66], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x51
ja 0x42cb26
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042ff10
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x52
jb 0x42cb00
lea eax, [esp + 0x70]
lea ebx, [esp + 0x18]
push 0
push 0
push esi
push eax
push ebx
call fcn.0044a830
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x452294]
mov dword [esp + 0x10], ebp
lea ebp, [esp + 0x78]
lea eax, [esp + 0x88]
push ebp
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x90]
call fcn.0044ac40
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x45229c]
jmp dword [0x4522a4]
mov eax, 4
jmp 0x42ccb5
cmp dword [esp + 0x18], 1
sete cl
and al, cl
movzx ecx, al
mov eax, 2
jmp dword [ecx*4 + 0x4522ec]
xor eax, eax
jmp dword [0x452300]
jmp 0x42ccb5
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], 0x303f3e3d
mov byte [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42cc16
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42cbf0
mov eax, dword [0x4561e4]
test eax, eax
je case.default.0x42cc7b
mov ecx, dword [esp + 0x18]
xor edx, edx
mov ebp, dword [0x4561e8]
nop
nop
nop
nop
nop
cmp dword [ebp + edx*8], 0x625b6034
je 0x42cc4b
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
cmp edx, eax
jb 0x42cc30
jmp case.default.0x42cc7b
mov eax, dword [ebp + edx*8 + 4]
cmp eax, ecx
je case.default.0x42cc7b
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
mov ebp, dword [esp + 0x10]
test ebp, ebp
setne al
jmp dword [eax*4 + 0x4522d4]
jmp dword [0x4522dc]
push ebx
call fcn.00449ef0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00449ef0
add esp, 4
jmp dword [0x4522e4]
mov eax, 2
mov ecx, dword [case.0x42cc7b.14]
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x452314]
sete al
movzx ecx, al
mov esi, 0x20119
xor eax, eax
jmp dword [ecx*4 + 0x45231c]
jmp dword [0x4522c8]
push esi
call fcn.0040c620
add esp, 4
push esi
call fcn.0040c620
add esp, 4
jmp dword [0x4522d0]
mov dword [esp + 0x10], 0
jmp dword [0x4522bc]
mov ecx, dword [esp + 0x78]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42cd33
mov eax, 0xffffffff
push eax
call fcn.0040c610
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0x3fac3971
mov dword [esp + 0x1c], 0x23b63dab
mov dword [esp + 0x20], 0x278a2181
mov dword [esp + 0x24], 0x2b9a2588
mov dword [esp + 0x28], 0x2fba2989
mov dword [esp + 0x2c], 0x13122d84
mov byte [esp + 0x30], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42cdb6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042ff80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x42cd90
push ebp
push esi
push 0
push ebx
push dword [esp + 0x80]
call fcn.0044b210
add esp, 0x14
jmp dword [0x4522b0]
mov ecx, dword [esp + 0x78]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42cde3
mov eax, 0xffffffff
push eax
call fcn.0040c610
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0x3fac3971
mov dword [esp + 0x1c], 0x23b63dab
mov dword [esp + 0x20], 0x278a2181
mov dword [esp + 0x24], 0x2b9a2588
mov dword [esp + 0x28], 0x2fba2989
mov dword [esp + 0x2c], 0x13122d84
mov byte [esp + 0x30], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x42ce66
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042ff80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x42ce40
push ebp
push esi
push 0
push ebx
push dword [esp + 0x80]
call fcn.0044b210
add esp, 0x14
jmp case.0x42cb40.4
shr eax, 0x1f
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x4522b4]
mov eax, dword [case.0x42cc7b.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
jmp 0x42d6a1
add eax, 0x26
push eax
call fcn.0040c610
add esp, 4
mov edi, eax
mov dword [esp + 0x18], 0x913b9f30
mov dword [esp + 0x1c], 0x950c9301
mov dword [esp + 0x20], 0x890d9732
mov dword [esp + 0x24], 0x8d268b11
mov dword [esp + 0x28], 0x811f8f29
mov dword [esp + 0x2c], 0x8524831e
mov dword [esp + 0x30], 0xf91f871f
mov dword [esp + 0x34], 0xfd6cfba6
mov dword [esp + 0x38], 0xf158ff58
mov dword [esp + 0x3c], 0xf3f0
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x28
ja 0x42cf46
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430000
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x29
jb 0x42cf20
movzx ecx, word [ebp]
mov eax, edi
test cx, cx
je 0x42cf71
lea edx, [ebp + 2]
mov eax, edi
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 0x42cf60
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x42cfa1
lea edx, [esp + 0x1a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42cf90
mov word [eax], 0
jmp dword [0x452354]
push ebp
call fcn.0040c620
add esp, 4
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x45235c]
xor eax, eax
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x45235c]
mov dword [esp + 0x18], 0x23682163
mov dword [esp + 0x1c], 0x27852588
mov dword [esp + 0x20], 0x3b843987
mov dword [esp + 0x24], 0x3f873d9a
mov dword [esp + 0x28], 0x339e3197
mov dword [esp + 0x2c], 0x37893597
mov dword [esp + 0x30], 0xbac09b6
mov dword [esp + 0x34], 0xfa90db5
mov dword [esp + 0x38], 0x3b4017e
mov dword [esp + 0x3c], 0x7a005a0
mov word [esp + 0x40], 0x1918
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x42d076
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430070
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x42d050
lea eax, [esp + 0x18]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.0044a100
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452364]
xor esi, esi
xor ebp, ebp
jmp dword [0x4523c4]
push edi
call fcn.0040c620
add esp, 4
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x4523cc]
xor ebx, ebx
test esi, esi
jne 0x42d669
jmp 0x42d6a1
lea eax, [esp + 0x88]
push 0
push eax
push dword [esp + 0x78]
call fcn.0044a440
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x45236c]
mov esi, dword [esp + 0x88]
lea eax, [esi + 1]
push eax
call fcn.0040c610
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.0044a520
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x452374]
mov dword [esp + 0xc], edi
mov esi, dword [esp + 0x88]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040c610
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 + 0x80], eax
mov ecx, eax
push esi
mov dword [esp + 0x88], ebx
push ebx
call fcn.0042f880
movzx eax, al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x45237c]
mov dword [esp + 0x18], 0xdbd4daff
mov dword [esp + 0x1c], 0xe6d4ecc7
mov dword [esp + 0x20], 0xdbe7eb13
mov dword [esp + 0x24], 0xce9e0ce
mov dword [esp + 0x28], 0x221f1c2c
mov dword [esp + 0x2c], 0x1415fcef
mov dword [esp + 0x30], 0x23242423
mov word [esp + 0x34], 0xb523
mov dword [esp + 0x36], 0
mov byte [esp + 0x3a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
mov esi, dword [esp + 0x80]
ja 0x42d226
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430990
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x42d200
lea eax, [esp + 0x18]
mov ecx, esi
push eax
call fcn.0042fac0
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
jmp dword [ecx*4 + 0x452384]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x84]
jmp dword [0x452394]
mov ebx, dword [esp + 0x80]
jmp dword [0x45239c]
mov ecx, ebx
call fcn.0042fc40
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebx
call fcn.0042fc40
jmp dword [0x4523a8]
push ebx
call fcn.0040c620
add esp, 4
mov ebx, dword [esp + 0x84]
jmp dword [0x4523ac]
jmp dword [0x4523ac]
push ebx
call fcn.0040c620
add esp, 4
mov eax, dword [case.0x42d0a0.2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0xc], edi
mov ebx, esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x18], 0x303f3e3d
mov byte [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42d306
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42d2e0
mov eax, dword [0x4561e4]
test eax, eax
je 0x42d33c
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, dword [0x4561e8]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42d330
inc edx
cmp eax, edx
jne 0x42d320
jmp 0x42d33c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42d900
mov esi, ebx
mov edi, dword [esp + 0xc]
jmp dword [0x4523c4]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x4523cc]
mov eax, ebp
mov dword [esp + 0x90], esi
sub eax, esi
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.0040c610
add esp, 4
mov dword [esp + 8], eax
mov edi, dword [0x4561e0]
mov dword [esp + 0x18], 0xd702c925
mov dword [esp + 0x1c], 0xd37dd567
mov dword [esp + 0x20], 0xdf6ad171
mov dword [esp + 0x24], 0xdb6add1d
mov dword [esp + 0x28], 0xa76ad968
mov dword [esp + 0x2c], 0xa31ea505
mov dword [esp + 0x30], 0xaf43a101
mov dword [esp + 0x34], 0xab75ad08
mov dword [esp + 0x38], 0xb71ba914
mov dword [esp + 0x3c], 0xb307b515
mov dword [esp + 0x40], 0xbf0ab114
mov dword [esp + 0x44], 0xbb15bd0f
mov dword [esp + 0x48], 0x8732b919
mov dword [esp + 0x4c], 0x83388576
mov dword [esp + 0x50], 0x8f24812c
mov word [esp + 0x54], 0x8d8c
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x43
ja 0x42d446
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430a00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x44
jb 0x42d420
lea esi, [esp + 0x88]
lea eax, [esp + 0x18]
push esi
push 0
push 0
push 0x1e
push eax
push 0
call edi
mov edi, dword [esp + 0x88]
test edi, edi
jns 0x42d46f
mov eax, 0xffffffff
jmp 0x42d472
lea eax, [edi + edi]
push eax
call fcn.0040c610
add esp, 4
mov dword [esp + 0x8c], eax
mov ebx, dword [0x4561e0]
mov dword [esp + 0x18], 0x99ce9bb7
mov dword [esp + 0x1c], 0xa5cba7e9
mov dword [esp + 0x20], 0xa1d6a3cb
mov dword [esp + 0x24], 0xaddeafef
mov dword [esp + 0x28], 0xa9e6abdc
mov dword [esp + 0x2c], 0xb5cab7c7
mov dword [esp + 0x30], 0xb199b3db
mov dword [esp + 0x34], 0xbde3bfd4
mov dword [esp + 0x38], 0xb9d1bbc0
mov dword [esp + 0x3c], 0xc5b5c7d7
mov dword [esp + 0x40], 0xc1b6c3a0
mov dword [esp + 0x44], 0xcda3cfb1
mov dword [esp + 0x48], 0xc9becba3
mov dword [esp + 0x4c], 0xd5acd7fa
mov dword [esp + 0x50], 0xd1b8d3b8
mov dword [esp + 0x54], 0xdfd0
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42d546
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430a80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42d520
push esi
push edi
mov esi, dword [esp + 0x94]
push esi
push 0x1e
lea eax, [esp + 0x28]
push eax
push 0
call ebx
lea eax, [esp + 0x78]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.0044a100
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4523d4]
xor ebx, ebx
mov edi, dword [esp + 8]
mov esi, dword [esp + 0xb4]
jmp dword [0x45248c]
push dword [esp + 0x8c]
call fcn.0040c620
add esp, 4
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x452494]
mov byte [edi], 0
mov dword [esp + 0x18], 0xc7c2c1f1
mov dword [esp + 0x1c], 0xc3dfded5
mov dword [esp + 0x20], 0xc8ccced1
mov dword [esp + 0x24], 0x2a3a16f3
mov dword [esp + 0x28], 0x1ff53421
mov dword [esp + 0x2c], 0x3923263b
mov dword [esp + 0x30], 0x3336ff3b
mov dword [esp + 0x34], 0xd528
sub edi, dword [esp + 8]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x42d636
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430b80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x42d610
mov ecx, esi
push edi
push dword [esp + 0xc]
lea eax, [esp + 0x20]
push eax
call fcn.0040d3d0
mov ebx, eax
jmp dword [0x45249c]
push dword [esp + 8]
call fcn.0040c620
add esp, 4
and bl, 1
mov esi, dword [esp + 0x90]
test esi, esi
je 0x42d6a1
cmp esi, ebp
je 0x42d6a1
mov edi, esi
jmp 0x42d687
add esi, 8
cmp esi, ebp
je 0x42d698
mov eax, dword [esi]
test eax, eax
je 0x42d680
push eax
call fcn.0040c620
add esp, 4
jmp 0x42d680
push edi
call fcn.0040c620
add esp, 4
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x80]
call fcn.0044a440
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov edi, dword [esp + 8]
jmp dword [eax*4 + 0x4523dc]
mov esi, dword [esp + 0x9c]
lea eax, [esi + 1]
push eax
call fcn.0040c610
add esp, 4
push 0
push esi
mov dword [esp + 0x88], eax
push eax
push dword [esp + 0x84]
call fcn.0044a520
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
mov edi, dword [esp + 8]
jmp dword [eax*4 + 0x4523e4]
mov esi, dword [esp + 0x9c]
mov edi, dword [esp + 0x80]
mov byte [edi + esi], 0
push 0x20
call fcn.0040c610
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 + 0x98], eax
mov ecx, eax
push esi
push edi
call fcn.0042f880
movzx eax, al
xor ebx, ebx
mov edi, dword [esp + 8]
jmp dword [eax*4 + 0x4523ec]
mov dword [esp + 0x18], 0xabbcba97
mov dword [esp + 0x1c], 0xbeacb4af
mov dword [esp + 0x20], 0xabbf8b63
mov dword [esp + 0x24], 0x8469b0a6
mov dword [esp + 0x28], 0x9287b4a4
mov dword [esp + 0x2c], 0x9191aa57
mov dword [esp + 0x30], 0x93818c92
mov dword [esp + 0x34], 0x83858ca3
mov dword [esp + 0x38], 0x6985
mov byte [esp + 0x3c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x24
mov esi, dword [esp + 0x98]
ja 0x42d806
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430b00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x25
jb case.default.0x42d823
mov ecx, esi
lea eax, [esp + 0x18]
push eax
call fcn.0042fac0
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edx, dword [esp + 8]
mov dword [esp + 0x7c], edx
jmp dword [ecx*4 + 0x4523f4]
mov eax, dword [case.0x42d577.6]
mov edi, dword [esp + 0x7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x98]
jmp dword [0x45246c]
mov ecx, esi
call fcn.0042fc40
push esi
call fcn.0040c620
add esp, 4
mov eax, dword [case.0x42d577.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x452484]
push dword [esp + 0x80]
call fcn.0040c620
add esp, 4
mov dword [esp + 0x6c], ebx
mov esi, dword [esp + 0x78]
mov dword [esp + 0x18], 0x303f3e3d
mov byte [esp + 0x1c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x42d8d6
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x42d8b0
mov eax, dword [0x4561e4]
test eax, eax
je 0x42d926
mov ecx, dword [esp + 0x18]
xor edx, edx
mov ebx, dword [0x4561e8]
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x625b6034
je 0x42d91e
inc edx
cmp eax, edx
jne 0x42d8f0
jmp 0x42d926
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
mov esi, ebx
mov edi, dword [esp + 0xc]
jmp dword [0x4523c4]
mov eax, dword [ebx + edx*8 + 4]
cmp eax, ecx
jne 0x42d94b
mov esi, dword [esp + 0xb4]
mov ebx, dword [esp + 0x6c]
jmp dword [0x45248c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x452494]
jmp dword [0x45249c]
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
mov esi, dword [esp + 0xb4]
mov ebx, dword [esp + 0x6c]
jmp dword [0x45248c]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x45238c]
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 8]
mov dword [esi + eax + 4], ecx
add ebp, 8
mov ecx, dword [esp + 0x8c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov edx, dword [esp + 0x6c]
jmp dword [eax*4 + 0x45238c]
mov dword [esp + 0x8c], ecx
mov eax, ebp
mov ebp, dword [ecx]
mov ecx, eax
sub ecx, edi
mov dword [esp + 0x14], eax
cmp eax, edx
mov dword [esp + 8], ecx
mov dword [esp + 0x10], ebp
je 0x42d9e8
mov esi, edi
jmp 0x42da6e
mov eax, ecx
sar eax, 3
shr ecx, 2
and ecx, 2
xor eax, 1
add eax, ecx
mov ebp, edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42da0d
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040c610
add esp, 4
mov esi, eax
test edi, edi
je 0x42da5b
cmp edi, ebp
je 0x42da52
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
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 0x42da30
push edi
call fcn.0040c620
add esp, 4
lea edx, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp + 8]
add eax, ecx
mov dword [esp + 0x14], eax
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x6c], edx
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42da90
push ebx
mov edi, ebp
call fcn.0040c610
add esp, 4
mov ebp, eax
mov dword [esp + 0x90], esi
mov eax, dword [esp + 8]
mov dword [esi + eax], ebp
mov ecx, ebx
shr ecx, 2
mov eax, edi
mov edx, edi
mov edi, ebp
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add ebp, edx
add edx, eax
mov ecx, ebx
xor ecx, 0xfffffffc
mov esi, ebx
or esi, 3
and esi, ecx
mov ecx, esi
shr ecx, 1
mov eax, edx
mov dword [esp + 0x94], 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
mov ebp, dword [esp + 0x14]
jne 0x42db17
and esi, 0xfffffffe
movzx eax, byte [edx + esi]
mov ecx, dword [esp + 0x94]
mov byte [ecx + esi], al
xor ecx, ecx
cmp ebx, 1
je 0x42d990
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebp, edi
shl ebp, 0x1d
sar ebp, 0x1f
and ebp, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebp
mov ebp, edi
shl ebp, 0x1b
sar ebp, 0x1f
and ebp, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebp
xor edi, esi
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 0x42db30
not ecx
mov ebp, dword [esp + 0x14]
jmp 0x42d990
add eax, 8
xor ebx, ebx
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 8]
mov dword [esp + 0x7c], ecx
jmp dword [eax*4 + 0x4523fc]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4523fc]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov esi, 0
jne 0x42dc15
mov esi, dword [edx + 0x10]
test esi, esi
setne cl
mov dword [esp + 0x94], eax
test eax, eax
setne al
and al, cl
mov ecx, dword [case.0x42d823.7]
nop
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x452414]
mov dword [esp + 0xc], edx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x14], ebp
mov eax, esi
nop
nop
nop
nop
nop
nop
mov ebp, eax
inc eax
cmp byte [ebp], 0
jne case.default.0x42dc7b
sub ebp, esi
inc ebp
shr ebp, 1
lea eax, [ebp + 1]
push eax
call fcn.0040c610
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x84], eax
jmp dword [edx*4 + 0x45241c]
mov byte [eax], 0
mov dword [esp + 0x10], 0
push 0
push 0x10
push 0
push dword [esp + 0xa0]
call fcn.0042fce0
add esp, 0x10
xor ecx, ecx
mov esi, dword [esp + 0x90]
cmp esi, dword [esp + 0x14]
setne cl
jmp dword [ecx*4 + 0x45242c]
add esi, 2
shl edx, 4
or edx, ebx
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x45241c]
mov edx, ecx
or edx, 0x20
lea ebx, [edx - 0x61]
add edx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x42dcf4
mov ecx, 0xffffffff
cmp ebx, 6
jb case.default.0x42dd09
mov edx, ecx
lea edi, [esi + 1]
movsx ecx, byte [esi + 1]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x452424]
mov byte [eax], dl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov esi, edi
jmp dword [edx*4 + 0x45241c]
mov ebx, ecx
or ebx, 0x20
lea edi, [ebx - 0x61]
add ebx, 0xffffffa9
add ecx, 0xffffffd0
cmp ecx, 0xa
jb 0x42dd48
mov ecx, 0xffffffff
cmp edi, 6
jb 0x42dcc0
mov ebx, ecx
jmp 0x42dcc0
mov ecx, dword [esi]
mov dword [esp + 0x10], ecx
xor edi, edi
jmp dword [edi*4 + 0x45243c]
add esi, 8
xor ebx, ebx
cmp esi, dword [esp + 0x14]
setne bl
jmp dword [ebx*4 + 0x45242c]
mov edi, dword [esi + 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 + 0x452434]
mov edi, 1
jmp dword [edi*4 + 0x45243c]
xor eax, eax
mov esi, dword [esp + 0x10]
test esi, esi
setne al
jmp dword [eax*4 + 0x452444]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x6c]
mov edx, dword [esp + 0xc]
jmp dword [0x452454]
mov dword [esp + 0x18], ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
mov ebx, dword [esp + 0x6c]
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42de46
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
push 0x6c625980
push dword [0x4561f0]
call fcn.00449680
add esp, 8
mov ecx, esp
lea edx, [esp + 0x70]
push edx
push 1
push 0
push 0
push ecx
push 0
lea ecx, [esp + 0x30]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
mov ebp, dword [esp + 0x14]
jmp dword [ecx*4 + 0x45244c]
mov edx, dword [esp + 0xc]
jmp dword [0x452454]
movzx eax, byte [esi]
test al, al
je 0x42de7d
inc esi
mov ecx, dword [esp + 0x7c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42de70
jmp 0x42de81
mov ecx, dword [esp + 0x7c]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov edi, dword [esp + 0x70]
test edi, edi
je 0x42debb
mov ecx, dword [esp + 0x74]
mov edx, edi
and edx, 3
je 0x42debf
xor esi, esi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x42dea0
add eax, esi
mov edx, edi
sub edx, esi
mov esi, eax
jmp 0x42dec1
mov esi, eax
jmp 0x42df09
mov edx, edi
cmp edi, 4
jb 0x42df09
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42ded0
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x7c], esi
push 0xe050b307
push dword [0x4561d8]
call fcn.00449680
add esp, 8
push dword [esp + 0x74]
call eax
mov bl, 1
mov edx, dword [esp + 0xc]
jmp dword [0x452454]
push dword [esp + 0x84]
call fcn.0040c620
mov edx, dword [esp + 0x10]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x4523fc]
push dword [ebp - 0x24]
call fcn.0040c620
add esp, 4
mov ecx, dword [ebp - 0xb0]
add ecx, 4
mov eax, dword [case.0x42d577.54]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x4524b4]
mov eax, dword [ebp - 0x84]
mov edx, dword [eax + ecx]
mov edi, 0xfffffffe
nop
cmp word [edx + edi + 2], 0
lea edi, [edi + 2]
jne 0x42e370
mov dword [ebp - 0xb0], ecx
mov ebx, edi
sar ebx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x50]
lea ecx, [ebx + eax]
add ecx, 0xd
test ecx, ecx
jns 0x42e39c
mov eax, 0xffffffff
jmp 0x42e3a5
add eax, ebx
lea eax, [eax*2 + 0x1a]
mov dword [ebp - 0x44], ebx
push eax
call fcn.0040c610
add esp, 4
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
mov ebx, eax
test dx, dx
je 0x42e3e1
mov ecx, dword [ebp - 0x80]
mov ebx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], dx
add ebx, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x42e3d0
mov dword [ebp - 0x4c], eax
mov word [ebx], 0x5c
mov dword [esi], 0xe35ee14c
mov dword [esi + 4], 0xe745e57b
mov dword [esi + 8], 0xdb46d979
mov dword [esi + 0xc], 0xdf6dddbc
mov dword [esi + 0x10], 0xd373d144
mov dword [esi + 0x14], 0xd773d540
mov word [esi + 0x18], 0xc9c8
mov eax, dword [ebp - 0xac]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0x1e
ja 0x42e464
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [esi + eax]
push dword [ebp - 0x20]
push eax
call fcn.004310e0
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [esi + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x1f
jb 0x42e440
add ebx, 2
mov ecx, dword [ebp - 0x30]
movzx eax, word [ecx]
test ax, ax
je 0x42e491
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e480
mov word [ebx], 0
movzx eax, word [esi]
test ax, ax
mov edx, dword [ebp - 0x4c]
je 0x42e4c1
mov ecx, dword [ebp - 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e4b0
mov word [ebx], 0
push 0x60
push 3
push 0x120089
mov ebx, dword [ebp - 0x74]
push ebx
push edx
call fcn.0044a100
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4524c4]
xor ebx, ebx
jmp dword [0x452524]
mov esi, dword [ebp - 0x6c]
jmp dword [0x4524cc]
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0x12
ja 0x42e534
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [esi + eax]
push dword [ebp - 0x20]
push eax
call fcn.00431200
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [esi + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x13
jb 0x42e510
mov eax, dword [ebp - 0x30]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42e561
mov eax, dword [ebp - 0x30]
lea edx, [eax + 2]
mov eax, ebx
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 0x42e550
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x42e593
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x38]
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 0x42e580
jmp 0x42e596
mov esi, dword [ebp - 0x38]
mov word [eax], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x58]
push dword [eax]
push dword [eax + 4]
push ebx
call fcn.0040d220
mov ecx, ebx
mov ebx, eax
jmp dword [0x4524fc]
push ecx
call fcn.0040c620
add esp, 4
push 0xe050b307
push dword [0x4561d8]
call fcn.00449680
add esp, 8
mov ecx, dword [ebp - 0x58]
push dword [ecx + 4]
call eax
jmp dword [0x452504]
push dword [ebp - 0x40]
call fcn.0040c620
add esp, 4
push dword [ebp - 0xa0]
call fcn.004047f0
add esp, 4
jmp dword [0x45250c]
jmp dword [0x452518]
push esi
call fcn.0040c620
add esp, 4
nop
nop
push esi
call fcn.0040c620
add esp, 4
jmp dword [0x452520]
movzx eax, bl
jmp dword [eax*4 + 0x45253c]
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x44]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x42e640
mov eax, 0xffffffff
jmp 0x42e649
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.0040c610
add esp, 4
mov ebx, eax
mov eax, dword [ebp - 0x3c]
movzx eax, word [eax]
mov dword [ebp - 0x24], ebx
test ax, ax
je 0x42e681
mov ecx, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e670
mov word [ebx], 0x5c
mov edx, dword [ebp - 0x88]
mov dword [edx], 0x4ff249e4
mov dword [edx + 4], 0x43e54ddf
mov dword [edx + 8], 0x47da41e1
mov dword [edx + 0xc], 0xbb0d4524
mov dword [edx + 0x10], 0xbf2db92c
mov dword [edx + 0x14], 0xb313bd2a
mov dword [edx + 0x18], 0xb713b12b
mov dword [edx + 0x1c], 0xab36b518
mov dword [edx + 0x20], 0xaf24a90d
mov dword [edx + 0x24], 0xa33ead09
mov dword [edx + 0x28], 0xa700a104
mov word [edx + 0x2c], 0xa5a4
mov eax, dword [ebp - 0xa8]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0x32
ja 0x42e72a
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [edx + eax]
push dword [ebp - 0x20]
push eax
call fcn.00431270
mov edx, dword [ebp - 0x88]
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [edx + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x33
jb 0x42e700
add ebx, 2
mov ecx, dword [ebp - 0x30]
movzx eax, word [ecx]
test ax, ax
je 0x42e751
add ecx, 2
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e740
mov word [ebx], 0
movzx eax, word [edx]
test ax, ax
je 0x42e781
mov ecx, dword [ebp - 0x60]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], ax
add ebx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e770
mov word [ebx], 0
cmp dword [ebp - 0x44], 0xfffffff7
jge 0x42e793
mov edi, 0xffffffff
jmp 0x42e796
add edi, 0x12
mov ebx, dword [ebp - 0x7c]
push edi
call fcn.0040c610
add esp, 4
mov edi, eax
mov dword [ebx], 0xff12f92b
mov dword [ebx + 4], 0xe378fd19
mov dword [ebx + 8], 0xe70ae105
mov dword [ebx + 0xc], 0xeb0ce500
mov word [ebx + 0x10], 0xe9e8
mov eax, dword [ebp - 0xa4]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0x14
ja 0x42e814
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x20]
push eax
call fcn.004312f0
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [ebx + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x15
jb 0x42e7f0
mov edx, dword [ebp - 0x30]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x42e841
add edx, 2
mov eax, edi
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 0x42e830
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x42e873
mov edx, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x78]
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 0x42e860
jmp 0x42e876
mov ebx, dword [ebp - 0x78]
mov word [eax], 0
mov dword [ebx], 0x292a2bca
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 3
ja 0x42e8b4
mov eax, dword [ebp - 0x20]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x20]
push eax
call fcn.00431380
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [ebx + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 4
jb 0x42e890
push 0
push 0
push 0
push 0xc00000
push ebx
push dword [ebp - 0x24]
push edi
push dword [ebp + 8]
call fcn.00425490
add esp, 0x20
mov ecx, dword [ebp - 0x70]
and cl, 1
or cl, al
mov dword [ebp - 0x70], ecx
jmp dword [0x452544]
push edi
call fcn.0040c620
add esp, 4
jmp dword [0x45255c]
jmp dword [0x45255c]
mov dword [ebp - 0xa0], eax
push eax
call fcn.00404580
add esp, 4
mov ebx, eax
mov esi, dword [ebp - 0x98]
mov dword [esi], 0xe0ddf2ef
mov dword [esi + 4], 0xf3f6fcf6
mov dword [esi + 8], 0xe8e4ec26
mov dword [esi + 0xc], 0xfbfef4fe
mov dword [esi + 0x10], 0xf8cdf5f5
mov word [esi + 0x14], 0xecf1
mov byte [esi + 0x16], 0x16
mov word [esi + 0x17], 0
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 0x18
ja 0x42e974
nop
nop
nop
mov eax, dword [ebp - 0x20]
movzx eax, byte [esi + eax]
push dword [ebp - 0x20]
push eax
call fcn.00431180
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [esi + ecx], al
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
cmp eax, 0x19
jb 0x42e950
push esi
push ebx
call fcn.004046c0
add esp, 8
mov edx, eax
mov ebx, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
cmp byte [edx + ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x42e990
mov eax, ebx
and eax, 3
mov esi, ebx
or esi, 3
imul esi, eax
xor eax, 3
mov ecx, ebx
and ecx, 0xfffffffc
imul ecx, eax
add esi, ecx
shr esi, 2
movzx eax, byte [edx + ebx - 1]
cmp eax, 0x3d
je 0x42e9c8
cmp eax, 0x2e
jne 0x42e9c9
dec esi
movzx eax, byte [edx + ebx - 2]
cmp eax, 0x3d
mov dword [ebp - 0x34], edx
je 0x42e9db
cmp eax, 0x2e
jne 0x42e9dc
dec esi
mov dword [ebp - 0x9c], esi
lea eax, [esi + 1]
push eax
call fcn.0040c610
add esp, 4
mov dword [ebp - 0x40], eax
test ebx, ebx
je 0x42eae8
xor ecx, ecx
mov esi, 2
mov dword [ebp - 0x48], ebx
jmp 0x42ea25
mov edx, dword [ebp - 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [esi + 4]
add esi, 2
mov ecx, edx
mov ebx, dword [ebp - 0x48]
cmp esi, ebx
mov esi, eax
jae 0x42eae8
mov dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x34]
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.004212c0
add esp, 4
mov byte [ebp - 0x2c], al
movzx eax, byte [ebx + esi - 1]
push eax
call fcn.004212c0
add esp, 4
mov ebx, eax
movzx ecx, byte [ebp - 0x2c]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx], al
mov eax, dword [ebp - 0x24]
lea edx, [eax + 1]
cmp esi, dword [ebp - 0x48]
jae 0x42ea10
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax + esi]
push eax
mov dword [ebp - 0x2c], edx
call fcn.004212c0
mov edx, dword [ebp - 0x2c]
add esp, 4
cmp al, 0x40
je 0x42ea10
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [ebp - 0x24]
lea edx, [ebx + 2]
mov dword [ebp - 0x2c], edx
mov edx, dword [ebp - 0x40]
mov byte [edx + ebx + 1], cl
lea ecx, [esi + 1]
cmp ecx, dword [ebp - 0x48]
jae 0x42ea05
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov ebx, eax
call fcn.004212c0
add esp, 4
cmp al, 0x40
mov edx, dword [ebp - 0x2c]
je 0x42ea10
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x24]
mov byte [ecx + edx + 2], al
add edx, 3
jmp 0x42ea10
mov eax, dword [ebp - 0x9c]
add eax, 0xfffffffb
mov esi, dword [ebp - 0x94]
mov dword [esi], eax
mov eax, dword [ebp - 0x40]
add eax, 5
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0x58]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x4561f0]
call fcn.00449680
add esp, 8
push ebx
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 + 0x4524f4]
xor ebx, ebx
mov esi, dword [ebp - 0x38]
jmp dword [0x452504]
cmp dword [ebp - 0x44], 0xfffffff8
mov esi, dword [ebp - 0x90]
jge 0x42eb5f
mov eax, 0xffffffff
jmp 0x42eb62
lea eax, [edi + 0x10]
push eax
call fcn.0040c610
add esp, 4
mov ebx, eax
mov dword [esi], 0xe346e1bf
mov dword [esi + 4], 0xe7b8e574
mov dword [esi + 8], 0xdb52d94c
mov dword [esi + 0xc], 0xdfdedd48
mov eax, dword [ebp - 0x8c]
mov word [eax], 0
mov byte [eax + 2], 0
jmp 0x42e4f9
push dword [ebp - 0x4c]
call fcn.0040c620
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x452534]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x38]
mov byte [ecx + eax], 0
push ecx
call fcn.00403c00
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x4524ec]
mov eax, dword [ebp - 0x74]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0x303f3e3d
mov byte [ebp - 0x1c], 0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
cmp eax, 4
ja 0x42ec26
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x28]
movzx eax, byte [ebp + eax - 0x20]
push dword [ebp - 0x28]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [ebp - 0x28]
mov byte [ebp + ecx - 0x20], al
inc dword [ebp - 0x28]
mov eax, dword [ebp - 0x28]
cmp eax, 5
jb 0x42ec00
mov eax, dword [0x4561e4]
test eax, eax
je 0x42ec58
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov esi, dword [0x4561e8]
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x625b6034
je 0x42ec50
inc edx
cmp eax, edx
jne 0x42ec40
jmp 0x42ec58
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42ec61
mov esi, dword [ebp - 0x64]
jmp dword [0x452524]
push dword [ebp - 0x24]
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
mov esi, dword [ebp - 0x64]
jmp dword [0x452524]
mov esi, dword [ebp - 0x38]
jmp dword [0x45250c]
mov eax, dword [ebp - 0x6c]
mov esi, dword [eax]
lea eax, [esi + 1]
push eax
call fcn.0040c610
add esp, 4
push 0
push esi
mov esi, dword [ebp - 0x6c]
mov dword [ebp - 0x38], eax
push eax
mov eax, dword [ebp - 0x74]
push dword [eax]
call fcn.0044a520
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4524e4]
push 0
push esi
push dword [ebx]
call fcn.0044a440
add esp, 0xc
push 0
push esi
push dword [ebx]
call fcn.0044a440
add esp, 0xc
jmp dword [0x4524d8]
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4524dc]
mov esi, dword [ebp - 0x3c]
jmp dword [0x4524bc]
jmp dword [0x452568]
push esi
call fcn.0040c620
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040c620
add esp, 4
jmp dword [0x452570]
mov eax, dword [ebp - 0x70]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x40
mov dword [ebp - 0x30], esp
sub esp, 0x44
mov esi, esp
push eax
mov ecx, esp
push eax
mov ebx, esp
sub esp, 0x10
mov edx, esp
push eax
mov eax, esp
push eax
mov edi, esp
jmp dword [ebp - 0x1c]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x44], ecx
sub esp, 0x1c
mov edi, esp
mov eax, dword [0x4561e0]
mov dword [ebp - 0x48], eax
mov esi, dword [ebp - 0x30]
mov dword [esi], 0x37f73905
mov dword [esi + 4], 0x33c235c4
mov dword [esi + 8], 0xcf2f31ec
mov dword [esi + 0xc], 0xcb2bcd40
mov dword [esi + 0x10], 0xc722c9f5
mov dword [esi + 0x14], 0xc331c516
mov dword [esi + 0x18], 0xdf23c14c
mov dword [esi + 0x1c], 0xdb3bdd2c
mov dword [esi + 0x20], 0xd7e1d924
mov dword [esi + 0x24], 0xd336d5e3
mov dword [esi + 0x28], 0xef13d15f
mov dword [esi + 0x2c], 0xeb65ed63
mov dword [esi + 0x30], 0xe715e911
mov dword [esi + 0x34], 0xe3d0e516
mov dword [esi + 0x38], 0xff0be168
mov dword [esi + 0x3c], 0xfbfafd08
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x3f
ja 0x42ee44
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
movzx eax, byte [esi + eax]
push dword [ebp - 0x14]
push eax
call fcn.00431400
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [esi + ecx], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x40
jb 0x42ee20
mov ebx, dword [ebp - 0x34]
push ebx
push 0
push 0
push 0x1f
push esi
push 0
call dword [ebp - 0x48]
mov esi, dword [ebx]
test esi, esi
jns 0x42ee61
mov eax, 0xffffffff
jmp 0x42ee64
lea eax, [esi + esi]
push eax
call fcn.0040c610
add esp, 4
mov dword [ebp - 0x4c], eax
mov eax, dword [0x4561e0]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0x77370965
mov dword [ecx + 4], 0x73e275e4
mov dword [ecx + 8], 0x7fdf713c
mov dword [ecx + 0xc], 0x7bdb7de0
mov dword [ecx + 0x10], 0x67c27915
mov dword [ecx + 0x14], 0x63f165d6
mov dword [ecx + 0x18], 0x6fc361fc
mov dword [ecx + 0x1c], 0x6bcb6dfc
mov dword [ecx + 0x20], 0x570169c4
mov dword [ecx + 0x24], 0x53f65503
mov dword [ecx + 0x28], 0x5ff351cf
mov dword [ecx + 0x2c], 0x5bc55dc3
mov dword [ecx + 0x30], 0x47d559f1
mov dword [ecx + 0x34], 0x431045d6
mov dword [ecx + 0x38], 0x4fdb41d8
mov dword [ecx + 0x3c], 0x4b4a4dd8
mov byte [ecx + 0x42], 0
mov word [ecx + 0x40], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x42
ja 0x42ef3a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
movzx eax, byte [ecx + eax]
push dword [ebp - 0x14]
push eax
call fcn.00431490
add esp, 8
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x1c]
mov byte [edx + ecx], al
mov ecx, dword [ebp - 0x1c]
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x43
jb 0x42ef10
push ebx
push esi
mov esi, dword [ebp - 0x4c]
push esi
push 0x1f
push ecx
push 0
call dword [ebp - 0x30]
push 0x60
push 3
push 0x120089
mov ebx, dword [ebp - 0x44]
push ebx
push esi
call fcn.0044a100
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
jmp dword [eax*4 + 0x452584]
mov esi, dword [ebp - 0x4c]
jmp dword [0x45268c]
jmp dword [0x452698]
push 0
mov esi, dword [ebp - 0x28]
push esi
push dword [ebx]
call fcn.0044a440
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
jmp dword [eax*4 + 0x45258c]
mov dword [ebp - 0x30], edi
mov esi, dword [esi]
lea eax, [esi + 1]
push eax
call fcn.0040c610
add esp, 4
push 0
push esi
mov dword [ebp - 0x34], eax
push eax
push dword [ebx]
call fcn.0044a520
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
jmp dword [eax*4 + 0x452594]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
jmp dword [0x4525a0]
mov ecx, dword [ebp - 0x34]
mov byte [ecx + eax], 0
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x34]
mov byte [esi + eax], 0
mov dword [ebp - 0x1c], 0
jmp dword [0x4525a4]
lea esi, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor edx, edx
test al, al
je 0x42f032
mov ecx, esi
nop
cmp al, 0x22
je 0x42f030
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f020
jmp 0x42f032
mov edx, ecx
mov ecx, edx
sub ecx, esi
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x4525b4]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x4525bc]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x4525c4]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x4525cc]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x4525d4]
mov dword [ebp - 0x24], edx
mov eax, ecx
inc eax
mov dword [ebp - 0x2c], ecx
lea eax, [ecx + ecx + 2]
jns 0x42f099
mov eax, 0xffffffff
push eax
call fcn.0040c610
add esp, 4
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x2c]
lea ecx, [eax + ecx*2]
mov edx, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x38], ecx
cmp eax, ecx
mov ecx, dword [ebp - 0x24]
jae 0x42f101
mov edx, dword [ebp - 0x20]
cmp esi, ecx
jae 0x42f101
mov edx, dword [ebp - 0x20]
mov ebx, esi
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x42f101
lea eax, [ebp - 0x14]
push eax
push ecx
push ebx
mov dword [ebp - 0x28], edx
call fcn.00411060
mov edx, dword [ebp - 0x28]
add esp, 0xc
movzx ecx, word [ebp - 0x14]
mov word [edx], cx
add edx, 2
cmp edx, dword [ebp - 0x38]
jae 0x42f101
add ebx, eax
mov ecx, dword [ebp - 0x24]
cmp ebx, ecx
jb 0x42f0d0
mov word [edx], 0
push 0x60
push 3
push 0x120089
mov ebx, dword [ebp - 0x40]
push ebx
push dword [ebp - 0x20]
call fcn.0044a100
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4525dc]
mov esi, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x44]
jmp dword [0x45263c]
push 0
push dword [ebp - 0x3c]
push dword [ebx]
call fcn.0044a440
add esp, 0xc
test eax, eax
setns al
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ecx]
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4525e4]
push ebx
call fcn.0040c610
add esp, 4
push 0
push ebx
mov dword [ebp - 0x28], eax
push eax
mov eax, dword [ebp - 0x40]
push dword [eax]
call fcn.0044a520
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4525ec]
xor edx, edx
mov ecx, dword [ebp - 0x20]
jmp 0x42f1a8
add ecx, 2
test bx, bx
je 0x42f1b9
mov eax, edx
movzx ebx, word [ecx]
mov edx, ecx
cmp bx, 0x5c
je 0x42f1a0
mov edx, eax
jmp 0x42f1a0
xor edx, edx
test eax, eax
setne dl
xor ebx, ebx
xor ecx, ecx
jmp dword [edx*4 + 0x4525f4]
sub eax, dword [ebp - 0x20]
sar eax, 1
mov ebx, eax
inc ebx
mov ecx, dword [ebp - 0x2c]
sub ecx, ebx
mov eax, dword [case.0x42f123.6]
nop
nop
nop
jmp eax
add ecx, 0x1b
push ecx
call fcn.0040c610
add esp, 4
mov dword [ebp - 0x38], eax
sub dword [ebp - 0x2c], ebx
mov eax, ebx
mov ebx, dword [ebp - 0x30]
mov dword [ebx], 0xbcb2bcd9
mov dword [ebx + 4], 0xb9c7b1b6
mov dword [ebx + 8], 0x421cf94c
mov dword [ebx + 0xc], 0x4d3840
mov dword [ebx + 0x10], 0x36464e2e
mov dword [ebx + 0x14], 0xc323444
mov dword [ebx + 0x18], 0xca1613
mov dword [ebp - 0x54], eax
add esi, eax
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0x1b
ja 0x42f264
nop
nop
nop
mov eax, dword [ebp - 0x14]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x14]
push eax
call fcn.004315b0
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [ebx + ecx], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x1c
jb 0x42f240
movzx ecx, byte [ebx]
mov ebx, dword [ebp - 0x38]
mov eax, ebx
test cl, cl
mov edx, dword [ebp - 0x48]
je 0x42f28b
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f280
mov byte [eax], 0
mov edx, dword [ebp - 0x2c]
test edx, edx
mov ecx, dword [ebp - 0x24]
je 0x42f2c5
mov ebx, dword [ebp - 0x54]
add ebx, edi
sub ecx, ebx
add ecx, 0xfffffff5
mov edi, edx
and edi, 3
je 0x42f2cc
xor edx, edx
movzx ebx, byte [esi]
cmp bl, 1
sbb esi, 0xffffffff
mov byte [eax + edx], bl
inc edx
cmp edi, edx
jne 0x42f2ab
add eax, edx
sub dword [ebp - 0x2c], edx
mov edx, eax
jmp 0x42f2cc
mov edx, eax
mov edi, dword [ebp - 0x3c]
jmp 0x42f310
cmp ecx, 3
mov edi, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x2c]
jb 0x42f310
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
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], cl
mov eax, edx
add ebx, 0xfffffffc
jne 0x42f2d7
mov byte [edx], 0
mov ecx, dword [ebp + 8]
push dword [edi]
push dword [ebp - 0x28]
mov esi, dword [ebp - 0x38]
push esi
call fcn.0040d3d0
mov ecx, dword [ebp - 0x1c]
and cl, 1
or cl, al
mov dword [ebp - 0x1c], ecx
jmp dword [0x45260c]
push esi
call fcn.0040c620
add esp, 4
mov eax, dword [case.0x42f123.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x452624]
push dword [ebp - 0x28]
call fcn.0040c620
add esp, 4
mov eax, dword [case.0x42f123.2]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
mov dword [ebp - 0x14], 0x303f3e3d
mov byte [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 4
ja 0x42f3c6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x14]
push dword [ebp - 0x18]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [ebp - 0x18]
mov byte [ebp + ecx - 0x14], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 5
jb 0x42f3a0
mov eax, dword [0x4561e4]
test eax, eax
mov ebx, dword [ebp - 0x44]
je 0x42f3f8
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov edi, dword [0x4561e8]
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f3f0
inc edx
cmp eax, edx
jne 0x42f3e0
jmp 0x42f3f8
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f407
mov esi, dword [ebp - 0x24]
jmp dword [0x45263c]
jmp dword [0x452648]
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
mov esi, dword [ebp - 0x24]
jmp dword [0x45263c]
push dword [ebp - 0x20]
call fcn.0040c620
add esp, 4
push dword [ebp - 0x20]
call fcn.0040c620
add esp, 4
mov esi, dword [ebp - 0x24]
jmp dword [0x45264c]
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x48], eax
mov edi, dword [ebp - 0x50]
mov dword [edi], 0x262e2826
mov dword [edi + 4], 0x222b242a
mov word [edi + 8], 0xebf5
mov byte [edi + 0xa], 0x8a
mov dword [edi + 0xb], 0
mov byte [edi + 0xf], 0
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x14]
cmp eax, 0xf
ja 0x42f4b4
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x14]
movzx eax, byte [edi + eax]
push dword [ebp - 0x14]
push eax
call fcn.00431520
add esp, 8
mov ecx, dword [ebp - 0x14]
mov byte [edi + ecx], al
inc dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
cmp eax, 0x10
jb 0x42f490
movzx ecx, byte [edi]
test cl, cl
je 0x42f4f0
mov eax, edi
mov edi, esi
jmp 0x42f4dd
inc edi
mov esi, edi
mov eax, dword [ebp - 0x50]
movzx ecx, byte [eax]
test cl, cl
je 0x42f502
movzx edx, byte [esi]
test dl, dl
je 0x42f500
cmp dl, cl
jne 0x42f4d0
inc esi
inc eax
jmp 0x42f4d6
mov edi, esi
jmp 0x42f502
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x4525ac]
jmp dword [0x452654]
push dword [ebp - 0x34]
call fcn.0040c620
add esp, 4
mov eax, dword [case.0x42ef6a.2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x45266c]
mov esi, dword [ebx]
mov dword [ebp - 0x14], 0x303f3e3d
mov byte [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 4
ja 0x42f586
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x14]
push dword [ebp - 0x18]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [ebp - 0x18]
mov byte [ebp + ecx - 0x14], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 5
jb 0x42f560
mov eax, dword [0x4561e4]
test eax, eax
je case.0x42f123.36
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov edi, dword [0x4561e8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f5b0
inc edx
cmp eax, edx
jne 0x42f5a0
jmp case.0x42f123.36
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je case.0x42f123.36
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
jmp case.0x42f123.36
jmp dword [0x452678]
mov esi, dword [ebx]
mov dword [ebp - 0x14], 0x303f3e3d
mov byte [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
cmp eax, 4
ja 0x42f626
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x18]
movzx eax, byte [ebp + eax - 0x14]
push dword [ebp - 0x18]
push eax
call fcn.00430c00
add esp, 8
mov ecx, dword [ebp - 0x18]
mov byte [ebp + ecx - 0x14], al
inc dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, 5
jb 0x42f600
mov eax, dword [0x4561e4]
test eax, eax
je 0x42f5d0
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov edi, dword [0x4561e8]
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x625b6034
je 0x42f650
inc edx
cmp eax, edx
jne 0x42f640
jmp 0x42f5d0
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
je 0x42f5d0
push esi
push 1
push dword [0x4561ec]
push eax
call fcn.00446a00
add esp, 0x10
jmp dword [0x452678]
mov eax, dword [ebp - 0x1c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.0040c620
add esp, 4
push esi
call fcn.0040c620
add esp, 4
jmp dword [0x45269c]
int3
ret
int3
out dx, eax
inc edx
add byte [eax + 0x320042ef], al
cmc
inc edx
add byte [ebx + 0x100042ef], ah
cmc
inc edx
add al, bl
out dx, eax
inc edx
add bl, ah
out dx, eax
inc edx
add al, dh
out dx, eax
inc edx
add byte [eax - 0xc], dl
inc edx
add al, dh
out dx, eax
inc edx
add byte [eax], dl
invalid
int1
inc edx
add byte [esi], dh
int1
inc edx
add byte [edx - 0xd], dh
inc edx
add byte [ecx + esi*8 + 0x42], ah
add byte [edx - 0xd], dl
inc edx
add byte [ebp - 0x1dffbd0f], cl
int1
inc edx
add bl, cl
int1
inc edx
add al, ah
int1
inc edx
add al, ah
int1
inc edx
add al, ah
int1
inc edx
add dl, ah
int1
inc edx
add byte [0x3e0042f3], dh
inc edx
add byte [eax - 0xd], dl
inc edx
add byte [eax - 0xd], dl
inc edx
add byte [eax - 0xd], dl
inc edx
add byte [edx - 0xd], dl
inc edx
add byte [eax - 0xd], bl
inc edx
add byte [edx - 0xd], dh
inc edx
add byte [eax - 0xd], dh
inc edx
add byte [eax - 0xd], dh
inc edx
add byte [edx - 0xd], dh
inc edx
add byte [eax - 0xd], dh
inc edx
add byte [ecx], al
hlt