Function at 0x420c92
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x454
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x54], 0x813a8739
mov dword [esp + 0x58], 0x8d21832f
mov dword [esp + 0x5c], 0x89f88f3b
mov dword [esp + 0x60], 0x95328b27
mov dword [esp + 0x64], 0x9196973b
mov dword [esp + 0x68], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x17
ja 0x41e083
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xce910ea1
xor eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
add al, 0xdb
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x54], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x18
jb 0x41e050
lea edi, [esp + 0x54]
lea ecx, [esp + 0x34]
push edi
call fcn.00434080
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43f980]
lea ecx, [esp + 0x34]
push 0x410
call fcn.004342a0
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43f988]
jmp dword [0x43f994]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43f9b0]
mov esi, dword [esp + 0x28]
jmp dword [0x43fa10]
mov edi, dword [esp + 0x18]
mov byte [edi], 0
mov esi, dword [esp + 0x28]
sub edi, esi
mov eax, dword [case.0x41e4d8.4]
nop
nop
nop
jmp eax
mov dword [esp + 0x54], 0xfdfafbd3
mov dword [esp + 0x58], 0x89f9faff
mov dword [esp + 0x5c], 0x8cf0f2f3
mov dword [esp + 0x60], 0xe692f231
mov dword [esp + 0x64], 0xf52be8e3
mov dword [esp + 0x68], 0xe7ede2e9
mov dword [esp + 0x6c], 0x999e2199
mov word [esp + 0x70], 0x2f9c
mov dword [esp + 0x72], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
mov ecx, dword [esp + 0x468]
ja 0x41e17e
nop
mov eax, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x54]
add eax, 0x27c6a543
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0xb1
mov edx, dword [esp]
mov byte [esp + edx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x41e150
lea eax, [esp + 0x54]
push edi
push esi
push eax
call fcn.0040a0b0
mov ebx, eax
jmp dword [0x43fa10]
push esi
call fcn.004097e0
add esp, 4
and bl, 1
mov esi, ebx
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
test ebp, ebp
jne 0x41e717
jmp 0x41e724
mov eax, ebx
sub eax, ebp
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.004097d0
add esp, 4
mov dword [esp + 0x2c], 0
xor ecx, ecx
cmp ebp, ebx
setne cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], eax
jmp dword [ecx*4 + 0x43f9a8]
add ebp, 4
xor eax, eax
cmp ebp, ebx
setne al
jmp dword [eax*4 + 0x43f9a8]
mov esi, dword [ebp]
push 0x400
push 0
push edi
call fcn.00409860
add esp, 0xc
lea eax, [esp + 4]
lea ecx, [esp + 0x34]
push eax
push 0x400
push edi
push esi
call fcn.00434700
cmp eax, 0xc0000000
setae al
cmp dword [esp + 4], 0
sete cl
or cl, al
movzx ecx, cl
xor eax, eax
jmp dword [ecx*4 + 0x43f9b8]
mov eax, 1
jmp dword [0x43f9cc]
jmp dword [eax*4 + 0x43f9d0]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x41e291
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41e28f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41e280
jmp 0x41e291
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43f9d8]
movzx eax, byte [edx + 1]
inc edx
xor esi, esi
test al, al
mov dword [esp + 0x14], edx
je 0x41e2c1
mov ecx, edx
cmp al, 0x2e
je 0x41e2bf
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41e2b0
jmp 0x41e2c1
mov esi, ecx
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0x14]
jmp dword [eax*4 + 0x43f9e0]
mov edx, esi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [esi - 1]
cmp eax, 0x3d
je 0x41e2eb
cmp eax, 0x2e
jne 0x41e2ec
dec ecx
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x20], edx
je 0x41e303
cmp eax, 0x2e
jne 0x41e30a
mov dword [esp + 0x30], ebp
dec ecx
jmp 0x41e30e
mov dword [esp + 0x30], ebp
mov dword [esp + 0x50], ecx
lea eax, [ecx + 1]
push eax
call fcn.004097d0
add esp, 4
mov dword [esp + 0x1c], eax
cmp esi, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
je 0x41e41d
xor edx, edx
mov esi, 2
jmp 0x41e358
mov ecx, edi
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
mov edx, ebp
cmp esi, ecx
mov esi, eax
mov edi, ecx
jae 0x41e41d
mov dword [esp + 0x24], edx
mov ebp, dword [esp + 0x14]
movzx eax, byte [ebp + esi - 2]
push eax
call fcn.00415eb0
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + esi - 1]
push eax
call fcn.00415eb0
mov edx, dword [esp + 0x28]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [edx + 1]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + edx], ah
cmp esi, edi
jae 0x41e340
mov byte [esp + 0xf], al
movzx eax, byte [ebp + esi]
push eax
call fcn.00415eb0
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x41e344
movzx edx, byte [esp + 0xf]
shl dl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, dl
mov edi, dword [esp + 0x24]
lea ebp, [edi + 2]
mov edx, dword [esp + 0x1c]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x41e344
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415eb0
mov ecx, dword [esp + 0x24]
add esp, 4
cmp al, 0x40
je 0x41e344
shl bl, 6
add al, bl
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x24]
mov byte [edx + edi + 2], al
add edi, 3
mov ebp, edi
jmp 0x41e344
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x1c]
mov byte [esi + eax], 0
push esi
call fcn.00402460
add esp, 4
mov ebx, eax
jmp dword [0x43f9e8]
push esi
call fcn.004097e0
add esp, 4
push ebx
call fcn.00402ee0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esp + 0x54]
mov ebp, dword [esp + 0x30]
jmp dword [ecx*4 + 0x43f9f0]
jmp 0x41e539
mov dword [esp + 4], 0x83203433
mov dword [esp + 8], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 7
ja 0x41e4c3
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 4]
add ecx, 0x5860f1e0
xor ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp]
add cl, 0xa0
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 4], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 8
jb 0x41e490
lea ecx, [esp + 4]
push ecx
push eax
call fcn.00402ca0
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43f9f8]
mov edx, dword [esp + 0x18]
jmp 0x41e513
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x18]
je 0x41e50b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41e500
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x41e52b
lea ecx, [esp + 0x55]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41e520
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x18], edx
mov al, 1
mov dword [esp + 0x2c], eax
push ebx
call fcn.00403480
add esp, 4
add ebp, 4
xor eax, eax
mov ebx, dword [esp + 0x4c]
cmp ebp, ebx
setne al
jmp dword [eax*4 + 0x43f9a8]
mov dword [esp + 0x54], 0x6a437865
mov dword [esp + 0x58], 0x706a4d60
mov dword [esp + 0x5c], 0x6c656341
mov dword [esp + 0x60], 0x577e6645
mov dword [esp + 0x64], 0x605b5246
mov dword [esp + 0x68], 0x7f5c565d
mov dword [esp + 0x6c], 0x72795e7a
mov dword [esp + 0x70], 0x765f7453
mov dword [esp + 0x74], 0x66707672
mov dword [esp + 0x78], 0x4e631571
mov dword [esp + 0x7c], 0x2b1a6161
mov word [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x41e60e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
lea edx, [eax + ecx]
and eax, ecx
sub edx, eax
add edx, 0xe8d5b400
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x41e5d0
lea eax, [esp + 0x54]
lea edx, [esp + 0x40]
lea ecx, [esp + 0x34]
push 0
push 0x2b
push eax
push edx
call fcn.00434850
mov dword [esp + 0x54], 0x6a437865
mov dword [esp + 0x58], 0x706a4d60
mov dword [esp + 0x5c], 0x6c656341
mov dword [esp + 0x60], 0x577e6645
mov dword [esp + 0x64], 0x605b5246
mov dword [esp + 0x68], 0x7f5c565d
mov dword [esp + 0x6c], 0x72795e7a
mov dword [esp + 0x70], 0x765f7453
mov dword [esp + 0x74], 0x66707672
mov dword [esp + 0x78], 0x4e631571
mov dword [esp + 0x7c], 0x2b1a6161
mov word [esp + 0x80], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2d
ja 0x41e6de
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
lea edx, [eax + ecx]
and eax, ecx
sub edx, eax
add edx, 0xe8d5b400
mov ecx, edx
not ecx
and ecx, eax
not eax
and eax, edx
sub eax, ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2e
jb 0x41e6a0
lea eax, [esp + 0x40]
lea ecx, [esp + 0x34]
push 0
push 0x2b
push edi
push eax
call fcn.00434850
jmp dword [0x43f998]
mov ebp, dword [esp + 0x40]
mov ebx, dword [esp + 0x44]
xor eax, eax
cmp ebp, ebx
sete al
mov dword [esp + 0x4c], ebx
jmp dword [eax*4 + 0x43f9a0]
xor esi, esi
test ebp, ebp
je 0x41e724
cmp ebp, ebx
je 0x41e724
push ebp
call fcn.004097e0
add esp, 4
mov ebx, esi
lea ecx, [esp + 0x34]
call fcn.00434400
mov eax, ebx
add esp, 0x454
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [case.0x41eb37.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x43fa70]
mov ebp, dword [esp + 0xb4]
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x41e790
sub eax, edi
cmp eax, 0xffffffd9
jge 0x41eb62
mov eax, 0xffffffff
jmp 0x41eb65
xor ebx, ebx
test ecx, ecx
sete bl
xor edx, edx
jmp dword [ebx*4 + 0x43fa68]
jmp dword [edx*4 + 0x43fa18]
mov dword [esp + 0x28], 0x9f489944
mov dword [esp + 0x2c], 0xa3699d59
mov dword [esp + 0x30], 0xa771a169
mov dword [esp + 0x34], 0xab7ca570
mov dword [esp + 0x38], 0xaf72a971
mov dword [esp + 0x3c], 0xb373ad61
mov dword [esp + 0x40], 0xb77eb177
mov dword [esp + 0x44], 0xbb68b57d
mov dword [esp + 0x48], 0xbf62b97d
mov dword [esp + 0x4c], 0x4391bd6b
mov dword [esp + 0x50], 0x4792418a
mov dword [esp + 0x54], 0x4b8b459f
mov dword [esp + 0x58], 0x4f8b499e
mov dword [esp + 0x5c], 0x53884d90
mov dword [esp + 0x60], 0x57ba51b1
mov dword [esp + 0x64], 0x5bbf55ae
mov dword [esp + 0x68], 0x5f895984
mov dword [esp + 0x6c], 0x63875da8
mov dword [esp + 0x70], 0x678b6181
mov word [esp + 0x74], 0x6564
mov dword [esp + 0x76], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x51
ja 0x41e8ba
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add ecx, 0x5a
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x8ab4a65a
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0x3e
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x52
jb 0x41e880
lea ecx, [esp + 0x1c]
lea ebx, [esp + 0x28]
push 0
push 0
push eax
push ecx
push ebx
call fcn.00438e50
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x43fa30]
lea ebp, [esp + 0x98]
lea eax, [esp + 0x80]
push ebp
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.00439290
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fa38]
mov eax, dword [esp + 0x98]
mov ecx, eax
and ecx, 1
xor eax, 1
lea ecx, [eax + ecx*2]
lea eax, [ecx + ecx]
test ecx, ecx
jns 0x41e92d
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0xe918eb2b
mov dword [esp + 0x2c], 0xed1aef1d
mov dword [esp + 0x30], 0xf11ef30b
mov dword [esp + 0x34], 0xf526f71c
mov dword [esp + 0x38], 0xf90efb13
mov dword [esp + 0x3c], 0xfdfeff10
mov byte [esp + 0x40], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x18
ja 0x41e9ae
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xdd0255a7
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xbd
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x19
jb 0x41e980
push ebp
push esi
push 0
push ebx
push dword [esp + 0x2c]
call fcn.00439920
add esp, 0x14
shr eax, 0x1f
mov edi, esi
jmp dword [eax*4 + 0x43fa40]
xor edi, edi
jmp dword [0x43fa48]
push esi
call fcn.004097e0
add esp, 4
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
mov word [esp + 0x28], 0x605
mov byte [esp + 0x2a], 7
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x41ea57
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x74653d81
add ecx, 0x74653d81
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x7b
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x41ea10
mov ecx, dword [0x443f58]
test ecx, ecx
je 0x41eac0
mov edx, dword [esp + 0x28]
xor esi, esi
mov ebp, dword [0x443f5c]
nop
nop
nop
cmp dword [ebp + esi*8], 0x625b6034
je 0x41eaab
inc esi
cmp ecx, esi
jne 0x41ea70
jmp 0x41eac0
mov ecx, 4
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43fa60]
mov ecx, dword [ebp + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41eac7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43fa50]
push ebx
call fcn.00438450
add esp, 4
cmp dword [esp + 0x28], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43fa58]
xor edx, edx
xor ebx, ebx
cmp edx, 4
setb bl
mov eax, 0x20119
xor ecx, ecx
jmp dword [ebx*4 + 0x43fa60]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43fa60]
push eax
push 1
push dword [0x443f60]
push ecx
call fcn.00436440
add esp, 0x10
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x43fa50]
mov ecx, 2
xor ebx, ebx
cmp ecx, 4
setb bl
mov eax, 0x20119
xor edx, edx
jmp dword [ebx*4 + 0x43fa60]
xor eax, eax
jmp 0x41fe03
add eax, 0x26
push eax
call fcn.004097d0
add esp, 4
mov esi, eax
mov dword [esp + 0x28], 0x73117114
mov dword [esp + 0x2c], 0x6ff86dfb
mov dword [esp + 0x30], 0x6bf369f6
mov dword [esp + 0x34], 0x670265fb
mov dword [esp + 0x38], 0x63f56103
mov dword [esp + 0x3c], 0x9f009d0a
mov dword [esp + 0x40], 0x9b059901
mov dword [esp + 0x44], 0x971895c2
mov dword [esp + 0x48], 0x930c910c
mov word [esp + 0x4c], 0x8d8c
mov dword [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x29
ja 0x41ec0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0xec86476c
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xe4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2a
jb 0x41ebe0
movzx ecx, word [edi]
mov eax, esi
test cx, cx
je 0x41ec31
lea edx, [edi + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ec20
mov word [eax], 0
movzx ecx, word [esp + 0x28]
test cx, cx
je 0x41ec61
lea edx, [esp + 0x2a]
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 0x41ec50
mov word [eax], 0
jmp dword [0x43fa78]
push edi
call fcn.004097e0
add esp, 4
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x43fa80]
xor eax, eax
cmp word [esi], 0x5b
sete al
jmp dword [eax*4 + 0x43fa80]
mov dword [esp + 0x28], 0x71b47fb9
mov dword [esp + 0x2c], 0x75d773dc
mov dword [esp + 0x30], 0x49c877c5
mov dword [esp + 0x34], 0x4df14bee
mov dword [esp + 0x38], 0x41e24ff5
mov dword [esp + 0x3c], 0x45f343e5
mov dword [esp + 0x40], 0x59e047fa
mov dword [esp + 0x44], 0x5de35be3
mov dword [esp + 0x48], 0x51e85fa2
mov dword [esp + 0x4c], 0x55f453f4
mov dword [esp + 0x50], 0x5754
mov byte [esp + 0x54], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2c
ja 0x41ed3e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x50df4415
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x97
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2d
jb 0x41ed10
lea eax, [esp + 0x28]
push 0
push eax
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00438670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fa88]
xor ebx, ebx
xor edi, edi
jmp dword [0x43fac8]
push esi
call fcn.004097e0
add esp, 4
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x43fad0]
xor eax, eax
test ebx, ebx
jne 0x41fdcd
jmp 0x41fe03
mov dword [esp + 0x8c], esi
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x24]
call fcn.004389f0
add esp, 0xc
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43fa90]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.004097d0
add esp, 4
push 0
push esi
mov dword [esp + 0x90], eax
push eax
push dword [esp + 0x28]
call fcn.00438ae0
add esp, 0x10
not eax
shr eax, 0x1f
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43fa98]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x88]
mov byte [edi + esi], 0
push 0x20
call fcn.004097d0
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x9c], eax
mov ecx, eax
push esi
push edi
call fcn.00421020
movzx eax, al
xor edi, edi
xor ebx, ebx
jmp dword [eax*4 + 0x43faa0]
mov dword [esp + 0x28], 0x85f0fae1
mov dword [esp + 0x2c], 0xfe88f881
mov dword [esp + 0x30], 0xf5fde935
mov dword [esp + 0x34], 0xf02fe48a
mov dword [esp + 0x38], 0xeae5e090
mov dword [esp + 0x3c], 0xe8ebc829
mov dword [esp + 0x40], 0x9de098e5
mov dword [esp + 0x44], 0x2f9d
mov byte [esp + 0x48], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x20
ja 0x41eeee
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x9c8371c3
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x31
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x21
jb 0x41eec0
lea eax, [esp + 0x28]
mov ecx, dword [esp + 0x9c]
push eax
call fcn.00421260
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43faa8]
mov ebp, dword [esp + 0xb4]
jmp dword [0x43fab8]
mov esi, dword [esp + 0x9c]
mov ecx, esi
call fcn.004213e0
push esi
call fcn.004097e0
add esp, 4
jmp dword [0x43fac0]
jmp dword [0x43fac0]
push dword [esp + 0x88]
call fcn.004097e0
add esp, 4
mov dword [esp + 0x14], ebx
mov ebx, edi
mov eax, dword [esp + 0x1c]
mov word [esp + 0x28], 0x605
mov byte [esp + 0x2a], 7
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x41efc7
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x74653d81
add ecx, 0x74653d81
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x7b
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x41ef80
mov ecx, dword [0x443f58]
test ecx, ecx
je 0x41effc
mov edx, dword [esp + 0x28]
xor esi, esi
mov edi, dword [0x443f5c]
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41eff0
inc esi
cmp ecx, esi
jne 0x41efe0
jmp 0x41effc
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41f530
mov edi, ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
jmp dword [0x43fac8]
xor eax, eax
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x43fad0]
mov eax, edi
sub eax, ebx
sar eax, 3
mov ecx, eax
or ecx, 0x421
mov edx, eax
and edx, 0x421
imul ecx, edx
and eax, 0xfffffbde
xor edx, 0x421
imul edx, eax
add edx, ecx
push edx
call fcn.004097d0
add esp, 4
mov dword [esp + 0x18], eax
mov eax, dword [0x443f54]
mov dword [esp + 0x28], 0xd782c9e5
mov dword [esp + 0x2c], 0xd3bdd5a7
mov dword [esp + 0x30], 0xdfaad1b1
mov dword [esp + 0x34], 0xdbaadd9d
mov dword [esp + 0x38], 0xe7aad9a8
mov dword [esp + 0x3c], 0xe39ee585
mov dword [esp + 0x40], 0xefc3e181
mov dword [esp + 0x44], 0xebb5ed88
mov dword [esp + 0x48], 0xf79be994
mov dword [esp + 0x4c], 0xf387f595
mov dword [esp + 0x50], 0xff8af194
mov dword [esp + 0x54], 0xfb95fd8f
mov dword [esp + 0x58], 0x772f999
mov dword [esp + 0x5c], 0x3780536
mov dword [esp + 0x60], 0xf64016c
mov word [esp + 0x64], 0xd0c
mov dword [esp + 0x66], 0
mov byte [esp + 0x6a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x42
ja 0x41f13d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x2f1da1ce
add ecx, 0x2f1da1ce
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0xfa
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x43
jb 0x41f100
lea ecx, [esp + 0x28]
lea edx, [esp + 0x1c]
push edx
push 0
push 0
push 0x1e
push ecx
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x41f160
mov eax, 0xffffffff
jmp 0x41f163
lea eax, [esi + esi]
push eax
call fcn.004097d0
add esp, 4
mov dword [esp + 0x94], eax
mov eax, dword [0x443f54]
mov dword [esp + 0x28], 0x4ff2492d
mov dword [esp + 0x2c], 0x43e54ddf
mov dword [esp + 0x30], 0x47da41e1
mov dword [esp + 0x34], 0xbb2a4505
mov dword [esp + 0x38], 0xbffab928
mov dword [esp + 0x3c], 0xb326bd1d
mov dword [esp + 0x40], 0xb7d3b111
mov dword [esp + 0x44], 0xab1db518
mov dword [esp + 0x48], 0xaf0ba93c
mov dword [esp + 0x4c], 0xa33fad0d
mov dword [esp + 0x50], 0xa73aa10c
mov dword [esp + 0x54], 0x9b3da537
mov dword [esp + 0x58], 0x9f029939
mov dword [esp + 0x5c], 0x93189dce
mov dword [esp + 0x60], 0x970c9134
mov dword [esp + 0x64], 0x9594
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x3f
ja 0x41f240
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
add ecx, 0xd908f72
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xc6
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x40
jb 0x41f210
lea ecx, [esp + 0x1c]
push ecx
push esi
mov esi, dword [esp + 0x9c]
push esi
push 0x1e
lea ecx, [esp + 0x38]
push ecx
push 0
call eax
lea eax, [esp + 0x80]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00438670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fad8]
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x18]
mov dword [esp + 0x10], esi
jmp dword [0x43fba0]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x88]
call fcn.004389f0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x43fae0]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.004097d0
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x8c]
call fcn.00438ae0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x43fae8]
mov esi, dword [esp + 0x98]
mov ebp, dword [esp + 0x8c]
mov byte [ebp + esi], 0
push 0x20
call fcn.004097d0
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 + 0x88], eax
mov ecx, eax
push esi
mov esi, dword [esp + 0x1c]
push ebp
call fcn.00421020
movzx eax, al
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x43faf0]
mov dword [esp + 0x28], 0x4f5c46a3
mov dword [esp + 0x2c], 0x524c5c43
mov dword [esp + 0x30], 0x4f5ba78f
mov dword [esp + 0x34], 0x94b1687a
mov dword [esp + 0x38], 0x76636c7c
mov dword [esp + 0x3c], 0x79798ebb
mov dword [esp + 0x40], 0x7769647e
mov dword [esp + 0x44], 0x7f757497
mov word [esp + 0x48], 0xd17d
mov dword [esp + 0x4a], 0
mov byte [esp + 0x4e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x41f41e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x28]
add eax, 0x13d40554
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x5c
mov ecx, dword [esp]
mov byte [esp + ecx + 0x28], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x41f3f0
mov ecx, dword [esp + 0x88]
lea eax, [esp + 0x28]
push eax
call fcn.00421260
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], esi
jmp dword [ecx*4 + 0x43faf8]
mov ebp, dword [esp + 0xb4]
jmp dword [0x43fb90]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.004213e0
push esi
call fcn.004097e0
add esp, 4
jmp dword [0x43fb98]
jmp dword [0x43fb98]
push dword [esp + 0x8c]
call fcn.004097e0
add esp, 4
mov dword [esp + 0x14], ebx
mov eax, dword [esp + 0x80]
mov word [esp + 0x28], 0x605
mov byte [esp + 0x2a], 7
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x41f507
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add esi, 0x74653d81
add ecx, 0x74653d81
and ecx, edx
mov edx, esi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, esi
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x7b
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x41f4c0
mov ecx, dword [0x443f58]
test ecx, ecx
je 0x41f55d
mov edx, dword [esp + 0x28]
xor esi, esi
mov ebx, dword [0x443f5c]
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x41f555
inc esi
cmp ecx, esi
jne 0x41f520
jmp 0x41f55d
push eax
push 1
push dword [0x443f60]
push ecx
call fcn.00436440
add esp, 0x10
mov edi, ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x8c]
jmp dword [0x43fac8]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x41f5a5
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jmp dword [0x43fba0]
push dword [esp + 0x94]
call fcn.004097e0
add esp, 4
nop
nop
nop
nop
nop
nop
jmp dword [0x43fbb0]
mov eax, dword [esp + 0x20]
mov ecx, eax
and cl, 1
movzx ecx, cl
jmp dword [ecx*4 + 0x43fbb8]
jmp dword [0x43fbd0]
jmp dword [0x43fbc0]
push eax
push 1
push dword [0x443f60]
push ecx
call fcn.00436440
add esp, 0x10
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
jmp dword [0x43fba0]
add eax, 8
xor esi, esi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor edi, edi
xor edx, edx
xor ebx, ebx
jmp dword [eax*4 + 0x43fab0]
mov eax, 0xffffffff
mov edx, dword [esp + 0x24]
lea ecx, [eax + eax]
not ecx
add ecx, eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov dword [ebx + eax + 4], ecx
add edi, 8
mov ecx, dword [esp + 0x20]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov esi, ebx
jmp dword [eax*4 + 0x43fab0]
mov dword [esp + 0x20], ecx
mov ebp, dword [ecx]
mov eax, edi
sub eax, esi
cmp edi, edx
mov dword [esp + 0x10], eax
je 0x41f62e
mov ebx, esi
jmp 0x41f6a6
sar eax, 3
inc eax
mov dword [esp + 0x24], edx
mov ecx, edx
sub ecx, esi
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x41f649
mov edi, eax
lea eax, [edi*8]
push eax
call fcn.004097d0
add esp, 4
mov ebx, eax
test esi, esi
je 0x41f69b
mov edx, dword [esp + 0x24]
cmp esi, edx
je 0x41f692
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + eax]
mov dword [ebx + eax], ecx
mov ecx, dword [esi + eax + 4]
mov dword [ebx + eax + 4], ecx
mov dword [esi + eax], 0
lea ecx, [esi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x41f670
push esi
call fcn.004097e0
add esp, 4
lea edx, [ebx + edi*8]
mov edi, ebx
mov eax, dword [esp + 0x10]
add edi, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x7c], edi
mov dword [ebx + eax], 0
mov dword [esp + 0x14], ebx
mov dword [ebx + eax + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
cmp byte [ebp + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x41f6d0
lea eax, [ebx + 1]
mov dword [esp + 0x84], eax
push eax
call fcn.004097d0
add esp, 4
mov edi, eax
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [eax + ecx], edi
mov edx, dword [esp + 0x84]
mov ecx, edx
shr ecx, 2
mov eax, ebp
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, edx
and edx, 0xfffffffc
mov edi, dword [esp + 0x18]
add edi, edx
add edx, ebp
and eax, 3
mov ecx, eax
shr ecx, 1
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], edx
mov dword [esp + 0x18], edi
mov edx, dword [esp + 0x94]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, eax
xor ecx, 0xfffffffe
or eax, 1
and eax, ecx
je 0x41f779
mov ecx, dword [esp + 0x84]
and ecx, 2
mov edx, dword [esp + 0x90]
add edx, ecx
mov edi, dword [esp + 0x18]
add edi, ecx
push eax
push edx
push edi
call fcn.00409800
add esp, 0xc
test ebx, ebx
mov edi, dword [esp + 0x7c]
je 0x41f5e0
cmp ebx, 1
jne 0x41f791
mov eax, 0xffffffff
jmp 0x41f7cc
and esi, 0xfffffffe
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x43b5c0]
mov eax, ecx
shr eax, 8
xor cl, byte [ebp + 1]
add ebp, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43b5c0]
add esi, 0xfffffffe
jne 0x41f7a0
mov edx, dword [esp + 0x24]
test bl, 1
je 0x41f5e9
mov ecx, eax
shr ecx, 8
xor al, byte [ebp]
movzx eax, al
xor ecx, dword [eax*4 + 0x43b5c0]
mov eax, ecx
jmp 0x41f5e9
add eax, 8
mov dword [esp + 0x20], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x10], esi
mov esi, ecx
jmp dword [eax*4 + 0x43fb00]
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43fb00]
mov eax, dword [esi]
mov dword [esp + 0x7c], eax
cmp dword [esi + 0x18], 3
mov ebp, 0
jne case.default.0x41f84c
mov ebp, dword [esi + 0x10]
cmp dword [esp + 0x7c], 0
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43fb08]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x41f89c
mov dword [esp + 0x90], esi
mov dword [esp + 0x14], ebx
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0x24], ecx
lea eax, [ecx + 1]
push eax
call fcn.004097d0
add esp, 4
mov esi, eax
movsx eax, byte [ebp]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x84], esi
jmp dword [ecx*4 + 0x43fb10]
mov byte [esi], cl
inc esi
movsx eax, byte [edx]
xor ecx, ecx
test eax, eax
setne cl
mov ebp, edx
jmp dword [ecx*4 + 0x43fb10]
lea edx, [ebp + 1]
mov ecx, eax
or ecx, 0x20
lea ebx, [ecx - 0x61]
cmp ebx, 5
ja case.default.0x41f8e3
add ecx, 0xffffffa9
movsx eax, byte [edx]
xor ebx, ebx
test eax, eax
setne bl
jmp dword [ebx*4 + 0x43fb18]
lea ecx, [eax - 0x30]
cmp ecx, 0xa
jb 0x41f900
mov ecx, 0xffffffff
jmp 0x41f90e
mov ecx, eax
not ecx
and ecx, 0x30
and eax, 0xffffffcf
sub eax, ecx
mov ecx, eax
movsx eax, byte [edx]
xor ebx, ebx
test eax, eax
setne bl
jmp dword [ebx*4 + 0x43fb18]
shl ecx, 4
add ebp, 2
mov edx, eax
or edx, 0x20
lea ebx, [edx - 0x61]
cmp ebx, 5
ja case.default.0x41f945
add edx, 0xffffffa9
or edx, ecx
mov byte [esi], dl
inc esi
movsx eax, byte [ebp]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43fb10]
lea edx, [eax - 0x30]
cmp edx, 0xa
jb 0x41f95f
mov eax, 0xffffffff
jmp 0x41f96b
mov edx, eax
not edx
and edx, 0x30
and eax, 0xffffffcf
sub eax, edx
or eax, ecx
mov byte [esi], al
inc esi
movsx eax, byte [ebp]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43fb10]
mov ebx, dword [esp + 0x7c]
jmp dword [0x43fb24]
xor eax, eax
test ebp, ebp
setne al
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x90]
jmp dword [eax*4 + 0x43fb58]
jmp dword [0x43fb60]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + eax + 1], 0
lea eax, [eax + 1]
jne 0x41f9d0
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x443f64]
call fcn.00437b70
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x40]
push ecx
call eax
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x2c], eax
mov eax, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + eax + 1], 0
lea eax, [eax + 1]
jne 0x41fa40
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x443f64]
call fcn.00437b70
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x40]
push ecx
call eax
jmp dword [0x43fb6c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43fb70]
mov eax, dword [case.0x41f442.24]
jmp case.0x41f442.32
movzx eax, byte [ebp]
test al, al
je 0x41face
inc ebp
mov ecx, dword [esp + 0x10]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebp]
inc ebp
test al, al
jne 0x41fac0
jmp 0x41fad2
mov ecx, dword [esp + 0x10]
mov word [ecx], 0x203a
add ecx, 2
mov edx, dword [esp]
test edx, edx
mov ebp, ecx
je 0x41fb10
mov eax, dword [esp + 4]
mov ecx, edx
and ecx, 3
je 0x41fb14
xor esi, esi
movzx ebx, byte [eax]
cmp bl, 1
sbb eax, 0xffffffff
mov byte [ebp + esi], bl
inc esi
cmp ecx, esi
jne 0x41faf0
add ebp, esi
mov ecx, edx
sub ecx, esi
mov esi, ebp
mov ebx, dword [esp + 0x14]
jmp 0x41fb16
mov esi, ebp
jmp 0x41fb5a
mov ecx, edx
cmp edx, 4
jb 0x41fb5a
nop
nop
nop
nop
nop
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + 1], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
mov byte [ebp + 2], dl
movzx edx, byte [eax]
cmp dl, 1
sbb eax, 0xffffffff
lea esi, [ebp + 4]
mov byte [ebp + 3], dl
mov ebp, esi
add ecx, 0xfffffffc
jne 0x41fb20
mov byte [esi], 0xa
inc esi
push 0xe050b307
push dword [0x443f4c]
call fcn.00437b70
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x20], eax
mov eax, dword [case.0x41f442.24]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x90]
nop
nop
nop
jmp eax
jmp dword [0x43fb88]
push dword [esp + 0x84]
call fcn.004097e0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43fb00]
mov ebp, dword [edi]
xor ecx, ecx
jmp dword [ecx*4 + 0x43fb50]
add edi, 8
xor ebx, ebx
cmp edi, dword [esp + 0x7c]
setne bl
jmp dword [ebx*4 + 0x43fb40]
mov esi, dword [edi + 4]
mov ebx, esi
shr ebx, 0x1c
shl esi, 4
or esi, 1
xor ebx, edx
xor esi, eax
xor ecx, ecx
or esi, ebx
sete cl
jmp dword [ecx*4 + 0x43fb48]
mov ecx, 1
jmp dword [ecx*4 + 0x43fb50]
mov byte [esi], 0
push 0
push 0x10
push 0
push ebx
call fcn.00421480
add esp, 0x10
mov byte [esi], 0
push 0
push 0x10
push 0
push ebx
call fcn.00421480
add esp, 0x10
jmp dword [0x43fb2c]
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x7c], edi
mov ecx, dword [esp + 0x14]
cmp ecx, edi
setne bl
mov edi, ecx
jmp dword [ebx*4 + 0x43fb40]
mov ecx, dword [esp + 0x10]
mov byte [ecx], 0
mov eax, esi
not eax
and eax, ecx
add eax, eax
mov dword [esp + 0x28], 0x70201d1
mov dword [esp + 0x2c], 0x33f3e35
mov dword [esp + 0x30], 0x80c0e31
mov dword [esp + 0x34], 0x2a1a36d3
mov dword [esp + 0x38], 0x3fd51421
mov dword [esp + 0x3c], 0x1923261b
mov dword [esp + 0x40], 0x1316df1b
mov dword [esp + 0x44], 0xf568
xor ecx, esi
sub eax, ecx
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x41fced
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add ecx, 0xa4
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x9bfddfa4
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0xcc
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x41fcb0
mov ecx, ebp
push eax
mov esi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x30]
push eax
call fcn.0040a0b0
jmp dword [0x43fbc8]
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov dword [esp + 0x28], 0x70201d1
mov dword [esp + 0x2c], 0x33f3e35
mov dword [esp + 0x30], 0x80c0e31
mov dword [esp + 0x34], 0x2a1a36d3
mov dword [esp + 0x38], 0x3fd51421
mov dword [esp + 0x3c], 0x1923261b
mov dword [esp + 0x40], 0x1316df1b
mov dword [esp + 0x44], 0xf568
sub eax, esi
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x41fd9d
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x28]
lea esi, [ecx + edx]
add ecx, 0xa4
and ecx, edx
add ecx, ecx
sub esi, ecx
add esi, 0x9bfddfa4
mov dword [esp + 8], esi
mov ecx, dword [esp + 8]
add cl, 0xcc
mov edx, dword [esp]
mov byte [esp + edx + 0x28], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x41fd60
mov ecx, ebp
push eax
mov esi, dword [esp + 0x1c]
push esi
lea eax, [esp + 0x30]
push eax
call fcn.0040a0b0
jmp case.0x41f278.58
jmp dword [0x43fbd0]
push esi
mov esi, eax
call fcn.004097e0
mov eax, esi
add esp, 4
and al, 1
test ebx, ebx
je 0x41fe03
cmp ebx, edi
je 0x41fe03
mov ebp, eax
mov esi, ebx
jmp 0x41fde7
add esi, 8
cmp esi, edi
je 0x41fdf8
mov eax, dword [esi]
test eax, eax
je 0x41fde0
push eax
call fcn.004097e0
add esp, 4
jmp 0x41fde0
push ebx
call fcn.004097e0
add esp, 4
mov eax, ebp
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xb4]
add ecx, 4
mov eax, dword [case.0x41eb37.101]
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x43fbe8]
mov dword [esp + 0xb4], ecx
mov edi, dword [esp + ecx + 0x8c]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + esi + 2], 0
lea esi, [esi + 2]
jne 0x420220
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x78]
lea ecx, [edx + eax]
mov dword [esp + 0x74], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42024f
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
movzx ecx, word [ebp]
mov ebx, eax
test cx, cx
je 0x420281
mov edx, dword [esp + 0x80]
mov ebx, eax
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420270
mov word [ebx], 0x5c
mov dword [esp + 8], 0x9fd299c4
mov dword [esp + 0xc], 0xa3c59def
mov dword [esp + 0x10], 0xa7caa1c1
mov dword [esp + 0x14], 0xabfda584
mov dword [esp + 0x18], 0xafcfa9dc
mov dword [esp + 0x1c], 0xb3d7add8
mov dword [esp + 0x20], 0xb1b0
add ebx, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1b
ja 0x420300
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
add ecx, 0xb186c59a
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0xfe
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1c
jb 0x4202d0
movzx ecx, word [edi]
test cx, cx
je 0x420321
lea edx, [edi + 2]
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420310
mov word [ebx], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420351
lea edx, [esp + 0xa]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420340
mov dword [esp + 0x44], edi
mov word [ebx], 0
lea ecx, [esp + 0x88]
push 0x60
push 3
push 0x120089
push ecx
mov dword [esp + 0xc0], eax
push eax
call fcn.00438670
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43fc08]
xor ebx, ebx
jmp dword [0x43fc58]
push dword [esp + 0xb0]
call fcn.004097e0
add esp, 4
movzx eax, bl
lea ebx, [esp + 8]
jmp dword [eax*4 + 0x43fc60]
lea eax, [esp + 0x9c]
push 0
push eax
push dword [esp + 0x90]
call fcn.004389f0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43fc10]
mov edi, dword [esp + 0x9c]
lea eax, [edi + 1]
push eax
call fcn.004097d0
add esp, 4
mov ebp, eax
push 0
push edi
push eax
push dword [esp + 0x94]
call fcn.00438ae0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43fc18]
mov eax, dword [esp + 0x9c]
mov byte [ebp + eax], 0
push ebp
call fcn.00402460
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43fc20]
jmp dword [0x43fc50]
push ebp
call fcn.004097e0
add esp, 4
mov eax, dword [esp + 0x88]
mov word [esp + 8], 0x605
mov byte [esp + 0xa], 7
mov dword [esp + 0xb], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 6
ja 0x4204b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx + edx]
add edi, 0x74653d81
add ecx, 0x74653d81
and ecx, edx
mov edx, edi
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, edi
sub ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0x7b
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 7
jb 0x420470
mov ecx, dword [0x443f58]
test ecx, ecx
je 0x4204e9
mov edx, dword [esp + 8]
xor edi, edi
mov ebp, dword [0x443f5c]
nop
nop
nop
cmp dword [ebp + edi*8], 0x625b6034
je 0x4204e1
inc edi
cmp ecx, edi
jne 0x4204d0
jmp 0x4204e9
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
jne 0x420507
mov ebp, dword [esp + 0x6c]
jmp dword [0x43fc58]
movzx eax, bl
lea ebx, [esp + 8]
jmp dword [eax*4 + 0x43fc60]
jmp dword [0x43fc68]
push eax
push 1
push dword [0x443f60]
push ecx
call fcn.00436440
add esp, 0x10
mov ebp, dword [esp + 0x6c]
jmp dword [0x43fc58]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa4], eax
push eax
call fcn.00402ee0
add esp, 4
mov dword [esp + 8], 0x10156267
mov dword [esp + 0xc], 0x637e647e
mov dword [esp + 0x10], 0x87c743e
mov dword [esp + 0x14], 0x6b766c76
mov dword [esp + 0x18], 0x78057d7d
mov word [esp + 0x1c], 0x1401
mov byte [esp + 0x1e], 0x9e
lea edi, [esp + 8]
mov byte [edi + 0x19], 0
mov word [edi + 0x17], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x19
ja 0x4205c0
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
add ecx, 0x20de86ac
xor ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0xa4
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x1a
jb 0x420590
push edi
push eax
call fcn.00403290
add esp, 8
mov ebp, 0xffffffff
mov edx, 0xfffffffd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, ebp
add edx, 3
cmp byte [eax + ebp + 1], 0
lea ebp, [ebp + 1]
jne 0x4205e0
shr edx, 2
movzx ecx, byte [eax + ebp - 1]
cmp ecx, 0x3d
je 0x420601
cmp ecx, 0x2e
jne 0x420602
dec edx
movzx ecx, byte [eax + ebp - 2]
cmp ecx, 0x3d
mov dword [esp + 0x98], eax
je 0x420618
cmp ecx, 0x2e
jne 0x420619
dec edx
mov dword [esp + 0xa0], edx
lea eax, [edx + 1]
push eax
call fcn.004097d0
add esp, 4
mov dword [esp + 0x50], eax
test ebp, ebp
je 0x420753
xor ecx, ecx
mov edi, 2
mov dword [esp + 0xac], ebp
jmp 0x420668
mov ebp, ebx
mov ebx, dword [esp + 0x70]
lea eax, [edi + 4]
add edi, 2
mov ecx, ebx
cmp edi, ebp
mov edi, eax
jae 0x420753
mov dword [esp + 0x84], ecx
mov ebp, dword [esp + 0x98]
movzx eax, byte [ebp + edi - 2]
push eax
call fcn.00415eb0
add esp, 4
mov ebx, eax
movzx eax, byte [ebp + edi - 1]
push eax
call fcn.00415eb0
mov edx, dword [esp + 0x88]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ecx, [edx + 1]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x50]
mov byte [ecx + edx], ah
mov ecx, dword [esp + 0xac]
mov ebx, ecx
cmp edi, ecx
jae 0x420650
mov byte [esp + 0x4b], al
movzx eax, byte [ebp + edi]
push eax
call fcn.00415eb0
add esp, 4
cmp al, 0x40
mov ebp, ebx
mov ebx, dword [esp + 0x70]
je 0x420656
movzx ecx, byte [esp + 0x4b]
shl cl, 4
mov byte [esp + 0x70], al
shr al, 2
and al, 0xf
or al, cl
mov edx, dword [esp + 0x84]
lea ebx, [edx + 2]
mov ecx, dword [esp + 0x50]
mov byte [ecx + edx + 1], al
lea eax, [edi + 1]
cmp eax, ebp
jae 0x420656
mov eax, dword [esp + 0x98]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.00415eb0
add esp, 4
cmp al, 0x40
movzx ecx, byte [esp + 0x70]
je 0x420656
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x84]
mov byte [ecx + edx + 2], al
add edx, 3
mov ebx, edx
jmp 0x420656
mov eax, dword [esp + 0xa0]
add eax, 0xfffffffb
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
add eax, 5
mov dword [esp + 0x40], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x443f64]
call fcn.00437b70
add esp, 8
mov ecx, esp
lea edx, [esp + 0x3c]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov ebp, dword [esp + 0xa8]
jmp dword [ecx*4 + 0x43fc28]
lea eax, [esi + 0x10]
cmp dword [esp + 0x74], 0xfffffff8
jge 0x4207c8
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
mov ebx, eax
mov dword [esp + 8], 0x178a19cb
mov dword [esp + 0xc], 0x13c01584
mov dword [esp + 0x10], 0xf86119c
mov dword [esp + 0x14], 0xb0a0d80
mov word [esp + 0x18], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0x11
mov edi, dword [esp + 0x44]
ja 0x420859
nop
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add edx, 0x8f252ac6
add eax, 0x8f252ac6
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xb8]
add al, 0x22
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 8], al
inc dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
cmp eax, 0x12
jb 0x420810
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x420881
lea edx, [edi + 2]
mov eax, ebx
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 0x420870
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x4208b1
lea edx, [esp + 0xa]
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 0x4208a0
mov word [eax], 0
mov ecx, dword [esp + 0xfc]
push dword [esp]
push dword [esp + 8]
push ebx
call fcn.00409ef0
mov ecx, ebx
mov ebx, eax
jmp dword [0x43fc30]
push ecx
call fcn.004097e0
add esp, 4
jmp dword [0x43fc38]
jmp dword [0x43fc38]
mov esi, dword [esp + 0xfc]
lea ebx, [esp + 8]
jmp dword [0x43fc98]
mov dword [esp + 8], 0x13a61167
mov dword [esp + 0xc], 0x6fe06dd1
mov dword [esp + 0x10], 0x6bde69d5
mov dword [esp + 0x14], 0x67c465d8
mov word [esp + 0x18], 0x6160
mov word [ebx + 0x16], 0
mov dword [ebx + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x42097a
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
add eax, 0xa8321d3c
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov ecx, eax
not ecx
and ecx, 0x2c
and eax, 0xd3
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x420940
mov eax, dword [esp + 0x44]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x4209b1
mov eax, dword [esp + 0x44]
lea edx, [eax + 2]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4209a0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x4209e1
lea edx, [esp + 0xa]
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 0x4209d0
mov word [eax], 0
mov dword [esp + 8], 0xf3f2f19a
mov byte [ebx + 6], 0
mov word [ebx + 4], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x420a4b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add eax, 0xd4
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xc22872d4
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
add al, 0xdc
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x420a10
push 0
push 0
push 0
push 0xc00000
push ebx
push edi
push ebp
push esi
call fcn.00418260
add esp, 0x20
jmp case.0x41eb37.146
push 0
push 0
push 0
push 0xc00000
push ebx
push edi
push ebp
push esi
call fcn.00418260
add esp, 0x20
jmp dword [0x43fca0]
mov dword [esp + 8], 0x13a61167
mov dword [esp + 0xc], 0x6fe06dd1
mov dword [esp + 0x10], 0x6bde69d5
mov dword [esp + 0x14], 0x67c465d8
mov word [esp + 0x18], 0x6160
mov word [ebx + 0x16], 0
mov dword [ebx + 0x12], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x420b0a
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
add eax, 0xa8321d3c
xor eax, ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov ecx, eax
not ecx
and ecx, 0x2c
and eax, 0xd3
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x420ad0
mov eax, dword [esp + 0x44]
movzx ecx, word [eax]
mov eax, ebp
test cx, cx
je 0x420b41
mov eax, dword [esp + 0x44]
lea edx, [eax + 2]
mov eax, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420b30
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420b71
lea edx, [esp + 0xa]
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 0x420b60
mov word [eax], 0
mov dword [esp + 8], 0xf3f2f19a
mov byte [ebx + 6], 0
mov word [ebx + 4], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 6
ja 0x420a70
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
lea edx, [eax + ecx]
add eax, 0xd4
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xc22872d4
mov dword [esp + 0x3c], edx
mov eax, dword [esp + 0x3c]
add al, 0xdc
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 7
jb 0x420ba0
jmp 0x420a70
mov ecx, dword [esp + 0x7c]
and cl, 1
or cl, al
mov dword [esp + 0x7c], ecx
jmp dword [0x43fca8]
push ebp
call fcn.004097e0
add esp, 4
nop
nop
nop
nop
jmp dword [0x43fcbc]
mov ebp, dword [esp + 0x6c]
jmp dword [0x43fcc0]
jmp dword [0x43fcc8]
push edi
call fcn.004097e0
add esp, 4
nop
push edi
call fcn.004097e0
add esp, 4
jmp dword [0x43fcd4]
push dword [esp + 0x50]
call fcn.004097e0
add esp, 4
push dword [esp + 0xa4]
call fcn.00403480
add esp, 4
jmp dword [0x43fc50]
add esi, 0x12
cmp dword [esp + 0x74], 0xfffffff7
jge 0x420c5f
mov esi, 0xffffffff
mov ebx, dword [case.0x41eb37.141]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.004097d0
add esp, 4
jmp ebx
mov ebp, eax
mov eax, dword [case.0x41eb37.144]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x420cb2
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
movzx ecx, word [ebp]
test cx, cx
je 0x420ce1
mov edx, dword [esp + 0x80]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420cd0
mov word [eax], 0x5c
mov dword [esp + 8], 0x81d28720
mov dword [esp + 0xc], 0x8d2f8331
mov dword [esp + 0x10], 0x893a8f2f
mov dword [esp + 0x14], 0x95d78be8
mov dword [esp + 0x18], 0x91279728
mov dword [esp + 0x1c], 0x9d319322
mov dword [esp + 0x20], 0x99319f35
mov dword [esp + 0x24], 0xe52e9b3c
mov dword [esp + 0x28], 0xe158e74b
mov dword [esp + 0x2c], 0xed56e34f
mov dword [esp + 0x30], 0xe94cef40
mov word [esp + 0x34], 0xebe8
mov word [ebx + 0x32], 0
mov dword [ebx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x33
ja 0x420db7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea edi, [ecx + edx]
add edi, 0xc0043e21
add ecx, 0xc0043e21
and ecx, edx
mov edx, edi
xor edx, ecx
add edx, ecx
not ecx
and ecx, edi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0x5b
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x34
jb 0x420d70
mov edx, dword [esp + 0x44]
movzx ecx, word [edx]
test cx, cx
je 0x420de1
add edx, 2
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 0x420dd0
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420e11
lea edx, [esp + 0xa]
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 0x420e00
mov word [eax], 0
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x420e36
mov eax, 0xffffffff
push eax
call fcn.004097d0
add esp, 4
mov edi, eax
movzx ecx, word [ebp]
test cx, cx
je 0x420e71
mov edx, dword [esp + 0x80]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x420e60
mov word [eax], 0x5c
mov dword [esp + 8], 0x81d28720
mov dword [esp + 0xc], 0x8d2f8331
mov dword [esp + 0x10], 0x893a8f2f
mov dword [esp + 0x14], 0x95d78be8
mov dword [esp + 0x18], 0x91279728
mov dword [esp + 0x1c], 0x9d319322
mov dword [esp + 0x20], 0x99319f35
mov dword [esp + 0x24], 0xe52e9b3c
mov dword [esp + 0x28], 0xe158e74b
mov dword [esp + 0x2c], 0xed56e34f
mov dword [esp + 0x30], 0xe94cef40
mov word [esp + 0x34], 0xebe8
mov word [ebx + 0x32], 0
mov dword [ebx + 0x2e], 0
add eax, 2
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x33
ja 0x420f47
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 8]
lea ebx, [ecx + edx]
add ebx, 0xc0043e21
add ecx, 0xc0043e21
and ecx, edx
mov edx, ebx
xor edx, ecx
add edx, ecx
not ecx
and ecx, ebx
add ecx, ecx
sub ecx, edx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x3c]
add cl, 0x5b
mov edx, dword [esp]
mov byte [esp + edx + 8], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x34
jb 0x420f00
mov edx, dword [esp + 0x44]
movzx ecx, word [edx]
test cx, cx
je 0x420f71
add edx, 2
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 0x420f60
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x420fac
lea edx, [esp + 0xa]
lea ebx, [esp + 8]
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 0x420f90
mov word [eax], 0
jmp dword [0x43fc70]
lea ebx, [esp + 8]
mov word [eax], 0
jmp dword [0x43fc70]
push 0xe050b307
push dword [0x443f4c]
call fcn.00437b70
add esp, 8
push dword [esp + 4]
call eax
push 0xe050b307
push dword [0x443f4c]
call fcn.00437b70
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x43fc40]
jmp dword [0x43fc48]
jmp dword [0x43fc00]
push ebp
call fcn.004097e0
add esp, 4
mov eax, dword [esp + 0x7c]
and al, 1
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
call 0xead3fa77
inc ecx
add al, ah
jmp 0xe952fa7f
ljmp 0x41:0xeb400041
in eax, dx
inc ecx
add byte [edi + 0x4e0041ed], bl
out dx, eax
inc ecx
add ah, cl
in eax, dx
inc ecx
add byte [ecx], bh
out dx, eax
inc ecx
add byte [esi], al
out dx, al
inc ecx
add byte [edi], cl
out dx, eax
inc ecx
add byte [ecx - 0x12], ch
inc ecx
add byte [edi], cl
out dx, eax
inc ecx
add ch, al
cmc
inc ecx
add byte [edi], cl
out dx, eax
inc ecx
add byte [eax], bl
test byte [ecx], 0x1c
out dx, eax
inc ecx
add byte [ecx], bh
out dx, eax
inc ecx
add byte [edi], bh
out dx, eax
inc ecx
add byte [esi - 0x11], cl
inc ecx
add byte [ecx - 0x13], bh
inc ecx
add byte [edi], cl
invalid
inc ecx
add byte [ebp - 0x77ffbe0e], dl
hlt
hlt
stc
inc ecx
add dh, al
clc
inc ecx
add byte [eax + 0x1f0041f8], dh
clc
inc ecx
add byte [edi], bl
clc
inc ecx
add byte [edi], bl
stc
inc ecx
add byte [edx], cl
cld
inc ecx
add byte [esp + edi*8], bl
inc ecx
add byte [edx], cl
cld
inc ecx
add byte [esp + edi*8], dh
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esp + edi*8], dh
inc ecx
add byte [ecx + edi*8 - 0x421ffbf], cl
inc ecx
add dh, bh
sti
inc ecx
add al, al
sti
inc ecx
add byte [ecx + edi*8 - 0x434ffbf], cl
inc ecx
add byte [edx - 0x56ffbe05], dl
stc
inc ecx
add byte [eax], ah
cli
inc ecx
add byte [edi + 0x200041f9], ch
cli
inc ecx
add byte [ecx - 0x60ffbe06], dl
cli
inc ecx
add byte [ecx - 0x6fffbe06], ch
sti
inc ecx
add byte [eax - 0x6dffbe05], dl
sti
inc ecx
add byte [eax - 0x67ffbe05], dl
sti
inc ecx
add byte [ebx], dl
clc
inc ecx
add byte [esi - 0xc], dl
inc ecx
add byte [ebx - 0xc], dh
inc ecx
add byte [ecx - 0xc], bh
inc ecx
add byte [eax + 0x6b0041f4], cl
cmc
inc ecx
add byte [eax - 0x7fffbe0b], al
cmc
inc ecx
add byte [eax - 0x79ffbe0b], al
cmc
inc ecx
add byte [eax - 0x66ffbe0b], al
cmc
inc ecx
add byte [edi + 0x4e0041f5], bl
cld
inc ecx
add byte [0xb40041fd], al
std
inc ecx
add byte [0xba0041fd], al
std
inc ecx
add bh, al
std
inc ecx
add al, dh
add dword [edx], eax
lock add dword [edx], eax
lock add dword [edx], eax
add dword [edx], eax
stc
cmovb eax, dword [eax]
add dword [edx], eax
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add cl, bh
cmovb eax, dword [eax]
add dword [eax], eax
add byte [eax], al
dec dword [edi]
inc edx
add byte [eax], cl
adc byte [edx], al
xchg dword [ebx], eax
inc edx
add byte [ebx + eax + 0x43d0042], ch
inc edx
add bl, dl
add eax, dword [edx]
add al, 0x42
add byte [ecx], cl
add al, 0x42
add byte [esi], ch
add al, 0x42
add byte [ebx], ah
add eax, 0xff30042
inc edx
add byte [ecx - 0x2bffbdf9], bh
or byte [edx], al
jecxz 0x43fc3e
inc edx
add ah, dl
cmovb eax, dword [eax]
mov ebx, 0xf300420f
inc edx
add bl, dh
cmovb eax, dword [eax]
mov ebx, 0x2f00420f
or al, 66
add byte [ebx], bh
or al, 0x42
add byte [esp + eax], dh
inc edx
add byte [0x8f004204], bh
add eax, dword [edx]
add al, 0x42
add ah, bl
add dword [edx], eax
add dword [0xe160042], eax
inc edx
add byte [edx + 0x5000420c], dl
or al, 0x42
add byte [edx + 0x7000420c], dl
or al, 0x42
add byte [eax + 0xc], dh
inc edx
add byte [eax + 0xc], dh
inc edx
add byte [ebx + 0xc], bh
inc edx
add byte [eax - 0x6fffbdf4], dl
or al, 0x42
add cl, ch
or byte [edx], al
nop
or al, 66
add byte [ebp - 0x5ffbdf6], cl
or byte [edx], al
loopne 0x43fcad
inc edx
add byte [ebp - 0xcffbdf6], cl
or eax, dword [edx]
add byte [edx + eax*2], cl
or al, 0x42
add byte [eax], al
or al, 0x42
add byte [eax], al
or al, 0x42
add byte [eax], al
or al, 0x42
add byte [esi], al
or al, 0x42
add byte [eax], dl
or al, 0x42
add ah, bl
add dword [edx], eax
and byte [edx + eax*2], cl
add byte [esi], dl
or al, 0x42
add byte [eax], ah
or al, 0x42
add ah, bl
add dword [edx], eax
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
les ebp, [esi]
inc edx
add byte [ecx], al
sub eax, 0x272f0042
inc edx
add byte [eax + 0x27], bh
inc edx
add byte [ebx], cl
sub byte [edx], al
dec ecx
sub eax, 0x2c140042
inc edx
add byte [edi], bh
inc edx
add byte [ebp + 0x2a], cl
inc edx
add byte [0xb500422d], ah
and eax, dword [edx]
push cs
daa
inc edx
add bl, dl
sub eax, 0x2a6e0042
inc edx
add byte [eax + 0x4b00422c], bl
and eax, dword [edx]
or eax, 0xf7004225
sub eax, 0x279c0042
inc edx
add ch, bl
sub al, 0x42
add byte [0x5c00422c], dh
and eax, 0x2e600042
inc edx
add bl, dh
sub eax, dword [edx]
shr byte [ebx], cl
inc edx
add byte [edx - 0x71ffbdd3], dh
sub eax, 0x232a0042
inc edx
add ah, cl
inc edx
add byte [ecx + 0x6c00422c], bh
and eax, dword [edx]
mov cl, 0x2b
inc edx
add byte [ebp + 0x2d], ch
inc edx
add byte [ebp - 0x12ffbdd9], bh
inc edx
add byte [ebp + 0x31004224], dh
and eax, 0x2c590042
inc edx
add ch, al
sub byte [edx], al
sbb byte [esi], ch
inc edx
add ah, ch
daa
inc edx
add byte [edi], dh
sub eax, dword [edx]
inc edx
and eax, 0x282f0042
inc edx
add dh, dl
and eax, dword [edx]
lodsd eax, dword [esi]
inc edx
add byte [esi + ebp + 0x2c780042], dl
inc edx
add byte [ebx + 0x27], dl
inc edx
add dh, dl
and al, 0x42
add byte [esi + ebp + 0x25800042], al
inc edx
add byte [edx - 0x6fffbdd6], dl
and eax, dword [edx]
or ebp, dword [ebx]
inc edx
add cl, ah
daa
inc edx
add byte [edi + 0x42], al
inc edx
add byte [ebx], dl
cmp al, 0x42
add byte [edx], bl
dec ebp
inc edx
add byte [edx + 0x4c], dh
inc edx
add byte [ebx - 0x3ffbdb8], dh
aas
inc edx
add byte [ecx], dh
cmp byte [edx], al
idiv dword [eax]
inc edx
add cl, cl
dec ebp
inc edx
add byte [esi + 0x38], dh
inc edx
add byte [esi - 0x5cffbdb4], dl
inc edi
inc edx
add bh, al
inc eax
inc edx
add byte [ebp + 0x50], dl
inc edx
add byte [edx + 0x43], bl
inc edx
add byte [ecx + 0x48], dh
inc edx
add byte [esi + 0x6e00424e], bl
dec ecx
inc edx
add byte [ebp + 0x46], bh
inc edx
add byte [edx + 0x49], cl
inc edx
add byte [ecx + 0x4b], cl
inc edx
add byte [eax + eax*2 + 0x42], al
add byte [0xba00424b], ah
inc esp
inc edx
add dh, ah
inc ecx
inc edx
add byte [ebx + 0x6500424f], ch
inc eax
inc edx
add byte [eax + 0x45], ah
inc edx
add byte [edi], dh
cmp al, 0x42
add byte [ecx + 0x4c], dl
inc edx
add ah, al
dec ebx
inc edx
add byte [ebp + 0x4d], bl
inc edx
add byte [0xc400424c], ch
inc edi
inc edx
add byte [eax + 0x3c00423e], dl
cmp dword [edx], eax
ret 0x4241