Function at 0x428520
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x450
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x50], 0xc356c153
mov dword [esp + 0x54], 0xc767c561
mov dword [esp + 0x58], 0xcb24c965
mov dword [esp + 0x5c], 0xcf56cd69
mov dword [esp + 0x60], 0xb3b2b115
mov byte [esp + 0x64], 0
lea eax, [esp + 0x50]
mov ecx, 0x4f
movzx esi, byte [eax]
lea edx, [ecx - 0x6ee41d00]
or edx, esi
and esi, ecx
not edx
or edx, esi
add edx, 0xd58b708f
mov ebx, edx
xor ebx, 0xfe
or edx, 1
and ebx, edx
add ebx, edx
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x3a
jne case.default.0x427752
lea ebp, [esp + 0x50]
lea ecx, [esp + 0x30]
push ebp
call fcn.0043b100
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447bac]
lea ecx, [esp + 0x30]
push 0x410
call fcn.0043b340
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x447bb4]
jmp dword [0x447bbc]
mov ebx, dword [esp + 0x2c]
add ebx, 4
xor eax, eax
mov esi, dword [esp + 8]
cmp ebx, esi
setne al
jmp dword [eax*4 + 0x447bd4]
jmp dword [0x447be4]
mov esi, dword [ebx]
push 0x400
push 0
push ebp
call fcn.00408430
add esp, 0xc
lea eax, [esp + 0x14]
lea ecx, [esp + 0x30]
push eax
push 0x400
push ebp
push esi
call fcn.0043b740
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, dword [ebx]
push 0x400
push 0
push ebp
call fcn.00408430
add esp, 0xc
lea esi, [esp + 0x14]
lea ecx, [esp + 0x30]
push esi
push 0x400
push ebp
push edi
call fcn.0043b740
jmp dword [0x447bf0]
mov dword [esp + 0x2c], ebx
cmp eax, 0xc0000000
setae al
cmp dword [esp + 0x14], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447bf4]
mov eax, 1
jmp dword [eax*4 + 0x447bfc]
xor eax, eax
jmp dword [eax*4 + 0x447bfc]
mov byte [esp + 0x44f], 0
movzx eax, byte [esp + 0x50]
xor edi, edi
test al, al
je 0x427861
mov ecx, ebp
nop
nop
cmp al, 0x2e
je 0x42785f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427850
jmp 0x427861
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x447c04]
movzx eax, byte [edi + 1]
inc edi
xor ebx, ebx
test al, al
je 0x427891
mov ecx, edi
nop
nop
nop
nop
cmp al, 0x2e
je 0x42788f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x427880
jmp 0x427891
mov ebx, ecx
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x447c0c]
mov edx, ebx
sub edx, edi
mov eax, edx
and eax, 0xfffffffc
mov ecx, edx
and ecx, 3
mov ebp, edx
or ebp, 3
imul ebp, ecx
xor ecx, 3
imul ecx, eax
add ebp, ecx
shr ebp, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x4278ce
cmp eax, 0x2e
jne 0x4278cf
dec ebp
mov eax, edx
xor eax, 2
mov ecx, edx
and ecx, 0xfffffffd
add ecx, ecx
sub ecx, eax
movzx eax, byte [edi + ecx]
cmp eax, 0x3d
mov dword [esp + 0xc], edx
je 0x4278ef
cmp eax, 0x2e
jne 0x4278f0
dec ebp
mov dword [esp + 0x40], ebp
lea eax, [ebp + 1]
push eax
call fcn.00408220
add esp, 4
mov dword [esp + 0x10], eax
mov dword [esp + 0x20], edi
cmp ebx, edi
mov ebp, dword [esp + 0xc]
je 0x427a2f
mov dword [esp + 4], 0
mov edi, 2
jmp 0x427948
mov dword [esp + 4], edx
lea esi, [esp + 0x14]
lea eax, [edi + 4]
add edi, 2
cmp edi, ebp
mov edi, eax
jae 0x427a2f
mov esi, dword [esp + 0x20]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.0041ed10
add esp, 4
mov bh, al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.0041ed10
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
mov ebx, dword [esp + 4]
mov ecx, ebx
and ecx, 1
mov edx, ebx
xor edx, 1
lea edx, [edx + ecx*2]
mov ecx, dword [esp + 0x10]
mov byte [ecx + ebx], ah
cmp edi, ebp
jae 0x427930
mov ebx, eax
mov dword [esp + 0x1c], edx
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi]
push eax
call fcn.0041ed10
add esp, 4
cmp al, 0x40
jne 0x4279c0
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov ebp, dword [esp + 0xc]
jmp 0x427934
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov ebx, dword [esp + 0x1c]
lea edx, [ebx + 1]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x10]
mov byte [edx + ebx], cl
lea ecx, [edi + 1]
mov ebp, dword [esp + 0xc]
cmp ecx, ebp
lea esi, [esp + 0x14]
jae 0x427938
mov ebx, eax
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + edi + 1]
push eax
call fcn.0041ed10
mov ebp, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x427938
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
mov byte [ecx + edx + 1], al
add edx, 2
mov dword [esp + 4], edx
jmp 0x427938
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x10]
mov byte [edi + eax], 0
push edi
call fcn.00401000
add esp, 4
mov ebx, eax
jmp dword [0x447c14]
push edi
call fcn.00408230
add esp, 4
lea ebp, [esp + 0x50]
jmp dword [0x447c1c]
lea ebp, [esp + 0x50]
jmp dword [0x447c1c]
push ebx
call fcn.00401940
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00401940
add esp, 4
jmp dword [0x447c28]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447c2c]
mov esi, dword [esp + 8]
jmp 0x427b88
mov dword [esp + 0x14], 0x57f8f4f7
lea ecx, [esp + 0x18]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov ecx, 0x2bc76f6e
movzx edx, byte [esp + ecx - 0x2bc76f5a]
xor edx, ecx
mov edi, edx
and edi, 0x210242d9
xor edx, 0x251ad2d9
lea ebp, [edx + edi*2]
lea edx, [edx + edi*2]
add edx, 2
mov edi, 0xd
sub edi, ebp
and edi, 0xf1
and edx, 0xe
sub edx, edi
mov byte [esp + ecx - 0x2bc76f5a], dl
inc ecx
cmp ecx, 0x2bc76f75
jne 0x427ac0
push esi
push eax
call fcn.00401890
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447c34]
lea ebp, [esp + 0x50]
mov edx, dword [esp]
mov esi, dword [esp + 8]
jmp 0x427b57
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp]
mov esi, dword [esp + 8]
je 0x427b4b
inc eax
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 0x427b40
mov word [edx], 0x203a
add edx, 2
lea ebp, [esp + 0x50]
movzx eax, byte [esp + 0x50]
test al, al
je 0x427b7b
lea ecx, [esp + 0x51]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427b70
mov byte [edx], 0xa
inc edx
mov dword [esp], edx
mov al, 1
mov dword [esp + 0x28], eax
push ebx
call fcn.00401bc0
add esp, 4
mov ebx, dword [esp + 0x2c]
add ebx, 4
xor eax, eax
cmp ebx, esi
setne al
jmp dword [eax*4 + 0x447bd4]
mov ebx, dword [esp + 0x28]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447bdc]
jmp dword [0x447c3c]
mov eax, dword [esp]
mov byte [eax], 0
mov dword [esp + 0x50], 0xc5fafba3
mov dword [esp + 0x54], 0xf9c9cac7
mov dword [esp + 0x58], 0xc4c0c2c3
mov dword [esp + 0x5c], 0xfec2e281
mov dword [esp + 0x60], 0xed8bc8f3
mov dword [esp + 0x64], 0xcff5f2c9
mov dword [esp + 0x68], 0xd9d691c9
mov dword [esp + 0x6c], 0x47d4
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x2e
mov edx, ecx
xor edx, 0x97
add edx, esi
xor dl, byte [esp + ecx + 0x50]
add dl, 0xd
mov byte [esp + ecx + 0x50], dl
inc ecx
add eax, 2
cmp ecx, 0x20
jne 0x427c10
mov edx, dword [esp + 0x24]
mov esi, dword [esp]
sub esi, edx
lea eax, [esp + 0x50]
mov ecx, dword [esp + 0x464]
push esi
push edx
push eax
call fcn.00409250
mov ebx, eax
jmp dword [0x447c3c]
push dword [esp + 0x24]
call fcn.00408230
add esp, 4
and bl, 1
mov edi, ebx
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
test ebx, ebx
jne 0x427cc9
jmp 0x427cd6
mov ebx, dword [esp + 0x44]
mov esi, dword [esp + 0x48]
xor eax, eax
cmp ebx, esi
sete al
jmp dword [eax*4 + 0x447bcc]
mov eax, esi
sub eax, ebx
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00408220
add esp, 4
mov dword [esp + 0x28], 0
xor ecx, ecx
cmp ebx, esi
setne cl
mov dword [esp + 0x24], eax
mov dword [esp], eax
mov dword [esp + 8], esi
jmp dword [ecx*4 + 0x447bd4]
xor edi, edi
test ebx, ebx
je 0x427cd6
cmp ebx, esi
je 0x427cd6
push ebx
call fcn.00408230
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x30]
call fcn.0043b470
mov eax, ebx
add esp, 0x450
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x50], 0xdef710e5
mov dword [esp + 0x54], 0x2826fdd8
mov dword [esp + 0x58], 0xd42d27f9
mov dword [esp + 0x5c], 0xc32a2af5
mov dword [esp + 0x60], 0x38eff6c2
mov dword [esp + 0x64], 0xcbd4eaed
mov dword [esp + 0x68], 0xc6c1eace
mov dword [esp + 0x6c], 0xc2ebc4df
mov dword [esp + 0x70], 0x9aa8d2d6
mov dword [esp + 0x74], 0xba9f85a9
mov dword [esp + 0x78], 0xdf8e9999
mov word [esp + 0x7c], 0
mov byte [esp + 0x7e], 0
mov edx, 0x1e
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + edx + 0x32]
mov ebx, eax
mov esi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0x7d
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x6a
mov byte [esp + edx + 0x32], al
inc edx
cmp edx, 0x4d
jne 0x427d60
lea eax, [esp + 0x44]
lea ecx, [esp + 0x30]
push 0
push 0x2b
push ebp
push eax
call fcn.0043b7d0
jmp dword [0x447bc8]
mov dword [esp + 0x50], 0xdef710e5
mov dword [esp + 0x54], 0x2826fdd8
mov dword [esp + 0x58], 0xd42d27f9
mov dword [esp + 0x5c], 0xc32a2af5
mov dword [esp + 0x60], 0x38eff6c2
mov dword [esp + 0x64], 0xcbd4eaed
mov dword [esp + 0x68], 0xc6c1eace
mov dword [esp + 0x6c], 0xc2ebc4df
mov dword [esp + 0x70], 0x9aa8d2d6
mov dword [esp + 0x74], 0xba9f85a9
mov dword [esp + 0x78], 0xdf8e9999
mov word [esp + 0x7c], 0
mov byte [esp + 0x7e], 0
mov edx, 0x1e
movzx eax, byte [esp + edx + 0x32]
mov ebx, eax
mov esi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0x7d
mul cl
mov ecx, eax
mov eax, esi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x6a
mov byte [esp + edx + 0x32], al
inc edx
cmp edx, 0x4d
jne 0x427e20
lea eax, [esp + 0x44]
lea ecx, [esp + 0x30]
push 0
push 0x2b
push ebp
push eax
call fcn.0043b7d0
jmp case.0x427752.5
mov eax, edi
jmp dword [0x447c50]
mov eax, edi
jmp 0x42862a
push eax
call fcn.00408230
add esp, 4
mov dword [esp], 0
jmp dword [0x447e04]
mov edi, dword [esp + 0xa4]
test edi, edi
jns 0x428059
mov eax, 0xffffffff
jmp 0x42805c
lea eax, [edi + edi]
push eax
call fcn.00408220
add esp, 4
push esi
push edi
mov dword [esp + 0x20], eax
push eax
push 0x1e
push ebp
push 0
call dword [0x44ce4c]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447cf4]
mov dword [esp], 0
mov edi, dword [esp + 8]
mov eax, dword [esp + 0x18]
jmp dword [0x447cfc]
mov edi, dword [esp + 8]
mov ebp, dword [esp + 0x18]
jmp dword [0x447d04]
mov edx, dword [esp + 0xa0]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x447d3c]
mov esi, dword [edx]
cmp dword [edx + 0x18], 3
mov eax, 0
jne case.default.0x4280e8
mov eax, dword [edx + 0x10]
mov dword [esp + 0xa0], edx
test esi, esi
mov edx, eax
setne al
test edx, edx
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x447d44]
mov edi, edx
mov eax, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne 0x428100
mov dword [esp + 0xc], ebx
mov ebx, edi
sub ecx, edi
inc ecx
shr ecx, 1
mov dword [esp + 0x9c], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408220
add esp, 4
mov edi, dword [case.0x42910d.7]
mov dword [esp + 0x78], eax
mov ebp, eax
mov eax, ebx
jmp case.0x4280e8.2
inc eax
mov ebp, dword [esp + 4]
mov byte [ebp], dl
inc ebp
nop
jmp edi
movsx ebx, byte [eax]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x447d5c]
mov dword [esp + 4], ebp
lea edx, [ebx - 0x30]
cmp edx, 0xa
jb 0x428164
mov edx, 0xffffffff
or ebx, 0x20
lea ebp, [ebx - 0x61]
cmp ebp, 6
jae case.default.0x42817f
add ebx, 0xffffffa9
mov edx, ebx
movsx ebx, byte [eax + 1]
xor ecx, ecx
test ebx, ebx
setne cl
jmp dword [ecx*4 + 0x447d64]
lea ebp, [ebx - 0x30]
cmp ebp, 0xa
jb 0x428193
mov ebp, 0xffffffff
or ebx, 0x20
lea ecx, [ebx - 0x61]
cmp ecx, 6
jae 0x4281a3
add ebx, 0xffffffa9
mov ebp, ebx
add eax, 2
shl edx, 4
or edx, ebp
jmp 0x428137
mov byte [ebp], 0
jmp 0x4281c1
inc esi
movzx ecx, byte [esi]
movzx eax, cl
lea edx, [eax - 9]
cmp edx, 5
jb 0x4281c0
cmp eax, 0x20
je 0x4281c0
mov edx, ecx
add dl, 0xd5
xor eax, eax
test dl, 0xfd
sete al
lea ebx, [esi + eax]
cmp byte [esi + eax], 0x30
jne 0x428201
movzx edx, byte [esi + eax + 1]
and dl, 0xdf
xor ebx, ebx
cmp dl, 0x58
sete bl
lea edi, [eax + ebx*2]
add edi, esi
mov ebx, edi
mov dword [esp + 4], 0
xor edx, edx
xor eax, eax
mov esi, ebx
jmp 0x428224
mov esi, dword [esp + 0x1c]
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 4]
mov dword [esp + 0x70], eax
movsx eax, byte [esi]
lea ebx, [eax - 0x30]
cmp ebx, 0xa
jb 0x428268
mov edx, eax
and edx, 0xffffffdf
add edx, 0xffffffbf
cmp edx, 0x19
ja 0x4282e8
or al, 0x20
movsx eax, al
mov edx, eax
xor edx, 0xffffff9e
and eax, 0xffffff9e
lea ebx, [edx + eax*2]
add ebx, 0xb
cmp ebx, 0xf
jg 0x4282e8
inc esi
mov dword [esp + 0x1c], esi
mov esi, ebp
and esi, edi
mov edx, 0xffffffff
mov eax, 0xffffffff
cmp esi, 0xffffffff
mov esi, dword [esp + 0x1c]
mov dword [esp + 4], 0x22
je 0x428224
mov edx, edi
shld edi, ebp, 4
shr edx, 0x1c
shl ebp, 4
xor eax, eax
mov dword [esp + 0x7c], edx
neg edx
sbb eax, eax
or edi, eax
or eax, ebp
mov esi, ebx
sar esi, 0x1f
add eax, ebx
adc esi, edi
mov edi, 0xffffffff
mov edx, 0xffffffff
jb 0x4282bf
mov edi, esi
mov edx, eax
mov dword [esp + 4], 0x22
mov esi, 0x22
jb 0x4282d2
mov esi, dword [esp + 0x70]
mov eax, edi
cmp dword [esp + 0x7c], 0
jne 0x428220
mov dword [esp + 4], esi
jmp 0x428220
mov eax, ebp
xor esi, esi
mov ebx, ebp
neg ebx
mov ebp, 0
sbb ebp, edi
cmp cl, 0x2d
je case.default.0x42830d
mov ebx, eax
mov ebp, edi
xor eax, eax
mov ecx, dword [esp + 8]
cmp ecx, dword [esp + 0xc]
setne al
jmp dword [eax*4 + 0x447d6c]
mov esi, dword [ecx]
xor eax, eax
jmp dword [eax*4 + 0x447d7c]
add ecx, 8
xor eax, eax
cmp ecx, dword [esp + 0xc]
setne al
jmp dword [eax*4 + 0x447d6c]
cmp dword [esp + 0x70], 0x22
setne al
mov edx, dword [ecx + 4]
mov edi, edx
shr edi, 0x1c
xor edi, ebp
shl edx, 4
or edx, 1
xor edx, ebx
or edx, edi
sete dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x447d74]
mov eax, 1
jmp dword [eax*4 + 0x447d7c]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x447d84]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x78]
jmp dword [0x447d94]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x78]
mov dword [esp + 0x24], edi
mov eax, 0xffffffff
mov ebx, dword [esp + 0xc]
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x428417
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0xe18a387a
push dword [0x44ce5c]
call fcn.0043f1c0
add esp, 8
lea ecx, [esp + 0x88]
lea edx, [esp + 0x90]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x38]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x447d8c]
jmp dword [0x447d94]
movzx eax, byte [esi]
test al, al
je 0x42843d
inc esi
mov ecx, dword [esp + 0x10]
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x428430
jmp 0x428441
mov ecx, dword [esp + 0x10]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x88]
test esi, esi
je 0x428481
mov ecx, dword [esp + 0x8c]
mov edx, esi
and edx, 3
je 0x428485
xor edi, edi
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x428466
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x428487
mov edi, eax
jmp 0x4284c5
mov edx, esi
cmp esi, 4
jb 0x4284c5
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x42848c
mov byte [edi], 0xa
inc edi
mov dword [esp + 0x10], edi
push 0xa7ffa4f5
push dword [0x44ce44]
call fcn.0043f1c0
add esp, 8
push dword [esp + 0x8c]
call eax
mov al, 1
mov dword [esp], eax
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x78]
jmp dword [0x447d94]
jmp dword [0x447d9c]
push edi
call fcn.00408230
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.00408230
add esp, 4
jmp dword [0x447da8]
mov ecx, eax
add eax, 2
cmp word [ecx], 0
jne case.0x427898.16
sub ecx, edi
sar ecx, 1
mov edx, 0xaf286bcb
mov eax, ecx
mul edx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
lea edx, [eax + eax*8]
lea eax, [eax + edx*2]
sub ecx, eax
add ecx, ecx
push ecx
call fcn.00408220
add esp, 4
mov dword [esp + 0x20], 0x63c161cc
mov dword [esp + 0x24], 0x67f865fb
mov dword [esp + 0x28], 0x5bc359fe
mov dword [esp + 0x2c], 0x5ff25dfb
mov dword [esp + 0x30], 0x53cd51f3
mov dword [esp + 0x34], 0x57f055ca
mov dword [esp + 0x38], 0x4bed49d1
mov dword [esp + 0x3c], 0x4fd84d92
mov dword [esp + 0x40], 0x43e441e4
mov word [esp + 0x44], 0x4544
mov dword [esp + 0x46], 0
xor ecx, ecx
nop
mov edx, ecx
add dl, 0x18
xor dl, byte [esp + ecx + 0x20]
add dl, 0x88
mov byte [esp + ecx + 0x20], dl
inc ecx
cmp ecx, 0x2a
jne 0x4285b0
movzx ecx, word [edi]
test cx, cx
je 0x4285f1
lea edx, [edi + 2]
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 0x4285e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x428621
lea edx, [esp + 0x22]
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 0x428610
mov word [eax], 0
mov ecx, edi
mov eax, ecx
lea ecx, [eax + 2]
cmp word [eax], 0
jne 0x428628
sub eax, edi
lea ecx, [eax + 0x26]
cmp eax, 0xffffffd9
jge 0x428642
mov ecx, 0xffffffff
push ecx
call fcn.00408220
add esp, 4
mov ebx, eax
mov dword [esp + 0x20], 0x63c161cc
mov dword [esp + 0x24], 0x67f865fb
mov dword [esp + 0x28], 0x5bc359fe
mov dword [esp + 0x2c], 0x5ff25dfb
mov dword [esp + 0x30], 0x53cd51f3
mov dword [esp + 0x34], 0x57f055ca
mov dword [esp + 0x38], 0x4bed49d1
mov dword [esp + 0x3c], 0x4fd84d92
mov dword [esp + 0x40], 0x43e441e4
mov word [esp + 0x44], 0x4544
mov dword [esp + 0x46], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x18
xor cl, byte [esp + eax + 0x20]
add cl, 0x88
mov byte [esp + eax + 0x20], cl
inc eax
cmp eax, 0x2a
jne 0x4286b0
movzx ecx, word [edi]
mov eax, ebx
test cx, cx
je 0x4286f1
lea edx, [edi + 2]
mov eax, ebx
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 0x4286e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x428721
lea edx, [esp + 0x22]
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 0x428710
mov word [eax], 0
mov eax, edi
jmp dword [0x447c54]
jmp dword [0x447c5c]
push edi
call fcn.00408230
add esp, 4
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x447c74]
xor eax, eax
cmp word [ebx], 0x2a
sete al
jmp dword [eax*4 + 0x447c74]
mov dword [esp + 0x20], 0x17d019e7
mov dword [esp + 0x24], 0x138d15f0
mov dword [esp + 0x28], 0xf9c1183
mov dword [esp + 0x2c], 0xb930d96
mov dword [esp + 0x30], 0x7e20993
mov dword [esp + 0x34], 0x391059b
mov dword [esp + 0x38], 0x3fa40192
mov dword [esp + 0x3c], 0x3ba13da5
mov dword [esp + 0x40], 0x37bc39ea
mov dword [esp + 0x44], 0x33a835a8
mov dword [esp + 0x48], 0x3130
mov byte [esp + 0x4c], 0
xor eax, eax
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x20]
mov edx, 0xb9
sub edx, eax
and edx, ecx
mov edi, 0x753392b9
sub edi, eax
or edi, ecx
not edi
or edi, edx
add edi, 0x4a01dda1
mov ecx, edi
and ecx, 1
xor edi, 1
lea ecx, [edi + ecx*2]
mov byte [esp + eax + 0x20], cl
mov ecx, eax
and ecx, 0x12
or eax, 0x3fc4ac92
add eax, ecx
inc eax
mov ecx, eax
xor ecx, 0x3fc4ac92
and eax, 0x16d
add eax, eax
sub eax, ecx
cmp eax, 0x2d
jb case.default.0x42883c
push 0
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebp
mov dword [esp + 0x8c], ebx
push ebx
call fcn.0043fca0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447c7c]
xor edi, edi
xor ebx, ebx
jmp dword [0x447cdc]
push dword [esp + 0x7c]
call fcn.00408230
add esp, 4
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x447ce4]
mov dword [esp], 0
jmp dword [0x447e04]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0xb0]
call fcn.00440000
add esp, 0xc
not eax
shr eax, 0x1f
xor edx, edx
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x447c84]
mov edi, dword [esp + 0x90]
lea eax, [edi + 1]
push eax
call fcn.00408220
add esp, 4
mov ebp, eax
push 0
push edi
push eax
push dword [esp + 0xb4]
call fcn.004400e0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x447c8c]
mov edi, dword [esp + 0x90]
mov byte [ebp + edi], 0
push 0x20
call fcn.00408220
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 + 0x18], eax
mov ecx, eax
push edi
push ebp
call fcn.0042b090
movzx eax, al
xor ebx, ebx
xor edi, edi
jmp dword [eax*4 + 0x447c94]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x20], 0xc5d0daa1
mov dword [esp + 0x24], 0xdec8d8c1
mov dword [esp + 0x28], 0xd5dda995
mov dword [esp + 0x2c], 0x90afe4ca
mov dword [esp + 0x30], 0xeae5e0f0
mov dword [esp + 0x34], 0xe8eb88a9
mov dword [esp + 0x38], 0xfde0f8e5
mov word [esp + 0x3c], 0x6ffd
mov dword [esp + 0x3e], 0
mov eax, 0xbb3c5213
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x44c3ae0d]
xor ecx, eax
mov edx, ecx
and edx, 0x20
xor ecx, 0xa0
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax + 0x44c3ae0d], cl
inc eax
cmp eax, 0xbb3c5235
jne 0x428990
mov ecx, dword [esp + 0x18]
push esi
call fcn.0042b280
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
xor edi, edi
jmp dword [ecx*4 + 0x447c9c]
mov eax, dword [case.0x42883c.6]
mov ebp, dword [esp + 0x10]
nop
nop
jmp eax
jmp dword [0x447ccc]
mov esi, dword [esp + 0x18]
mov ecx, esi
call fcn.0042b3f0
push esi
call fcn.00408230
add esp, 4
xor edx, edx
jmp dword [0x447cd4]
xor edx, edx
jmp dword [0x447cd4]
push ebp
call fcn.00408230
xor edx, edx
add esp, 4
mov ebp, ebx
mov ebx, edi
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x20], 0x4c4d4a4b
mov byte [esp + 0x24], 0
nop
mov ecx, edx
add cl, 0x12
xor cl, byte [esp + edx + 0x20]
add cl, 0xa6
mov byte [esp + edx + 0x20], cl
inc edx
cmp edx, 5
jne 0x428a30
mov ecx, dword [0x44ce50]
test ecx, ecx
je 0x428a7c
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ce54]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x428a70
inc esi
cmp ecx, esi
jne 0x428a60
jmp 0x428a7c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x428c1e
mov edi, ebx
mov ebx, ebp
lea ebp, [esp + 0xa8]
jmp dword [0x447cdc]
xor eax, eax
cmp edi, ebx
sete al
jmp dword [eax*4 + 0x447ce4]
mov dword [esp + 8], edi
mov dword [esp + 0x20], 0x398e3b57
mov dword [esp + 0x24], 0x258b27a9
mov dword [esp + 0x28], 0x21b6238b
mov dword [esp + 0x2c], 0x2dbe2f6f
mov dword [esp + 0x30], 0x29662bbc
mov dword [esp + 0x34], 0x158a1787
mov dword [esp + 0x38], 0x117913bb
mov dword [esp + 0x3c], 0x1da31fb4
mov dword [esp + 0x40], 0x19b11b80
mov dword [esp + 0x44], 0x59507b7
mov dword [esp + 0x48], 0x19603a0
mov dword [esp + 0x4c], 0xda30f91
mov dword [esp + 0x50], 0x99e0ba3
mov dword [esp + 0x54], 0x75ec775a
mov dword [esp + 0x58], 0x71d873d8
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 0x7f70
mov byte [esp + 0x60], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx + 0x20]
lea edi, [ecx + 0x1d252d8b]
mov edx, 0x74
sub edx, ecx
xor edx, edi
and edx, esi
xor edx, edi
mov esi, edx
and esi, 1
or edx, 1
add edx, esi
add dl, 0x48
mov byte [esp + ecx + 0x20], dl
add ecx, 0x23830675
mov edx, ecx
xor edx, 0x23830674
and ecx, 0x8b
add ecx, ecx
sub ecx, edx
cmp ecx, 0x41
jb 0x428b30
lea edx, [esp + 0x20]
mov edi, ebp
mov ecx, 0xf
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe4]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xa4]
push esi
push 0
push 0
push 0x1e
push ebp
push 0
call dword [0x44ce4c]
mov dword [esp + 0x20], 0x692a2bc1
mov word [esp + 0x24], 0
mov ecx, 0x1baf2347
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x1baf2327]
xor edx, ecx
mov edi, edx
and edi, 1
xor edx, 1
lea edx, [edx + edi*2]
add dl, 0x9c
mov byte [esp + ecx - 0x1baf2327], dl
inc ecx
cmp ecx, 0x1baf234d
jne 0x428bd0
xor ecx, ecx
cmp eax, dword [esp + 0x20]
setne cl
mov dword [esp], 0
mov edi, dword [esp + 8]
jmp dword [ecx*4 + 0x447cec]
jmp dword [0x447e04]
jmp 0x428f95
push eax
push 4
push ecx
push dword [0x44ce58]
call fcn.0043d4f0
add esp, 0x10
mov edi, ebx
mov ebx, ebp
lea ebp, [esp + 0xa8]
jmp dword [0x447cdc]
add eax, 8
xor ebx, ebx
mov ecx, dword [eax]
xor eax, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
setne al
xor edi, edi
mov dword [esp + 4], 0
jmp dword [eax*4 + 0x447ca4]
mov ecx, dword [esp + 0x1c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
setne al
jmp dword [eax*4 + 0x447ca4]
jmp dword [0x447cb0]
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
mov dword [esp], eax
mov eax, ebx
not eax
and eax, edi
mov edx, edi
not edi
and edi, ebx
sub edi, eax
mov ebp, edi
sar ebp, 3
mov ecx, dword [esp + 4]
cmp ebx, ecx
je 0x428cc2
mov dword [esp + 8], edx
mov eax, edx
mov ecx, ebx
jmp 0x428d68
mov dword [esp + 0xc], ebx
mov dword [esp + 0x70], ebp
lea eax, [ebp + 1]
mov ebp, edx
sub ecx, edx
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x428ce0
mov ebx, eax
mov eax, ebx
and eax, 8
mov ecx, ebx
or ecx, 8
imul ecx, eax
xor eax, 8
mov edx, ebx
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.00408220
add esp, 4
mov esi, eax
test ebp, ebp
je 0x428d4f
cmp ebp, dword [esp + 4]
je 0x428d46
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp + eax]
mov dword [esi + eax], ecx
mov ecx, dword [ebp + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [ebp + eax], 0
lea ecx, [eax + ebp]
add ecx, 8
add eax, 8
cmp ecx, dword [esp + 4]
jne 0x428d20
push ebp
call fcn.00408230
add esp, 4
lea eax, [esi + ebx*8]
mov dword [esp + 4], eax
mov ebx, esi
add ebx, edi
mov eax, ebp
mov dword [esp + 8], esi
mov ecx, dword [esp + 0xc]
mov ebp, dword [esp + 0x70]
mov esi, ecx
sub esi, eax
cmp esi, edi
mov edi, dword [esp + 8]
jae 0x428de0
lea edx, [eax + ebp*8]
sub edx, ecx
lea ebp, [edi + esi]
lea eax, [edi + esi]
add eax, 8
cmp edx, 8
jle 0x428d94
push edx
push ebp
push eax
call fcn.00408350
add esp, 0xc
jmp 0x428de0
mov ecx, edx
shr ecx, 2
mov dword [esp + 0xc], ebp
mov edi, eax
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
mov ebp, edx
and ebp, 0xfffffffc
add eax, ebp
add ebp, dword [esp + 0xc]
mov ecx, edx
shr ecx, 1
and ecx, 1
mov edi, eax
mov eax, ebp
mov dword [esp + 0xc], edi
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov edi, dword [esp + 8]
test dl, 1
je 0x428de0
and edx, 2
movzx eax, byte [ebp + edx]
mov ecx, dword [esp + 0xc]
mov byte [ecx + edx], al
nop
nop
nop
nop
add esi, edi
mov ecx, esi
mov edx, dword [esp]
call fcn.0042bdb0
add ebx, 8
jmp case.0x42883c.13
push edx
push ebx
push eax
call fcn.00408350
add esp, 0xc
mov edi, dword [esp + 8]
add esi, edi
mov ecx, esi
mov edx, dword [esp]
call fcn.0042bdb0
mov ebx, dword [esp + 0xc]
add ebx, 8
jmp dword [0x447cb4]
mov ebp, edi
mov edi, ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
mov eax, ebx
not eax
and eax, ebp
mov ebx, ebp
not ebx
and ebx, edi
sub ebx, eax
mov eax, ebx
sar eax, 3
mov ecx, dword [esp + 4]
cmp edi, ecx
mov dword [esp], edx
je 0x428e60
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebp
jmp 0x428ef0
mov dword [esp + 0x70], eax
inc eax
sub ecx, ebp
sar ecx, 3
mov esi, ecx
shr esi, 1
add esi, ecx
cmp esi, eax
ja 0x428e76
mov esi, eax
mov eax, esi
and eax, 8
mov ecx, esi
or ecx, 8
imul ecx, eax
xor eax, 8
mov edx, esi
and edx, 0xfffffff7
imul edx, eax
add ecx, edx
push ecx
call fcn.00408220
add esp, 4
mov dword [esp + 8], eax
test ebp, ebp
je 0x428edf
cmp ebp, dword [esp + 4]
mov edx, dword [esp + 8]
je 0x428ed6
xor eax, eax
nop
nop
nop
mov ecx, dword [ebp + eax]
mov dword [edx + eax], ecx
mov ecx, dword [ebp + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [ebp + eax], 0
lea ecx, [eax + ebp]
add ecx, 8
add eax, 8
cmp ecx, dword [esp + 4]
jne 0x428eb0
push ebp
call fcn.00408230
add esp, 4
mov eax, dword [esp + 8]
lea ecx, [eax + esi*8]
add eax, ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov esi, edi
sub esi, ebp
cmp esi, ebx
jae 0x428e0b
lea edx, [eax*8]
add edx, ebp
sub edx, edi
mov eax, dword [esp + 8]
lea ebx, [eax + esi]
add eax, esi
add eax, 8
cmp edx, 8
jg 0x428e00
mov ecx, edx
shr ecx, 2
mov ebp, ebx
mov edi, eax
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
mov ebp, edx
and ebp, 0xfffffffc
add eax, ebp
add ebp, ebx
mov ecx, edx
shr ecx, 1
and ecx, 1
mov ebx, ebp
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
test dl, 1
je 0x428e0b
and edx, 2
movzx ecx, byte [ebp + edx]
mov byte [eax + edx], cl
jmp 0x428e0b
test edi, edi
je 0x428f95
cmp edi, ebx
je 0x428f95
mov esi, edi
jmp 0x428f77
add esi, 8
cmp esi, ebx
je 0x428f88
mov eax, dword [esi]
test eax, eax
je 0x428f70
push eax
call fcn.00408230
add esp, 4
jmp 0x428f70
push edi
call fcn.00408230
add esp, 4
xor ebx, ebx
xor edi, edi
test edi, edi
je 0x428fd5
cmp edi, ebx
je 0x428fd5
mov esi, edi
jmp 0x428fb7
add esi, 8
cmp esi, ebx
je 0x428fc8
mov eax, dword [esi]
test eax, eax
je 0x428fb0
push eax
call fcn.00408230
add esp, 4
jmp 0x428fb0
push edi
call fcn.00408230
add esp, 4
xor ebx, ebx
xor edi, edi
jmp dword [0x447e10]
mov eax, dword [esp]
add esp, 0xe8
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [case.0x42883c.44]
mov edi, dword [esp + 8]
mov esi, dword [esp + 0x14]
jmp eax
mov esi, dword [esp + 0x98]
mov ebp, dword [esp + 0x84]
mov byte [ebp + esi], 0
push 0x20
call fcn.00408220
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 esi, dword [esp + 0x18]
push ebp
call fcn.0042b090
movzx eax, al
mov dword [esp], 0
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x447d2c]
jmp dword [0x447dcc]
mov ebp, dword [esp + 0x80]
mov ecx, ebp
call fcn.0042b3f0
push ebp
call fcn.00408230
add esp, 4
xor edx, edx
jmp dword [0x447dd4]
mov dword [esp + 0x20], 0x45505aa1
mov dword [esp + 0x24], 0x5e485841
mov dword [esp + 0x28], 0x555da995
mov dword [esp + 0x2c], 0x90af644a
mov dword [esp + 0x30], 0x6a656070
mov dword [esp + 0x34], 0x67678aa9
mov dword [esp + 0x38], 0x7d6f6866
mov dword [esp + 0x3c], 0x7573708d
mov dword [esp + 0x40], 0xeb77
xor ecx, ecx
mov eax, ecx
add al, 0xd3
xor al, byte [esp + ecx + 0x20]
add al, 0xe1
mov byte [esp + ecx + 0x20], al
inc ecx
cmp ecx, 0x24
jne case.default.0x42910d
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x20]
push eax
call fcn.0042b280
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp], 0
mov dword [esp + 0x10], esi
jmp dword [ecx*4 + 0x447d34]
add eax, 8
mov dword [esp], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp dword [eax*4 + 0x447d3c]
xor edx, edx
jmp dword [0x447dd4]
push dword [esp + 0x84]
call fcn.00408230
xor edx, edx
add esp, 4
jmp case.0x42883c.40
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447d14]
mov dword [esp], 0
mov dword [esp + 0x10], esi
jmp dword [0x447ddc]
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x7c]
call fcn.00440000
add esp, 0xc
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp + 0x10], esi
mov dword [esp], 0
jmp dword [eax*4 + 0x447d1c]
mov dword [esp + 0x14], esi
mov ebp, ebx
mov ebx, edi
mov eax, dword [esp + 0x74]
mov dword [esp + 0x20], 0x4c4d4a4b
mov byte [esp + 0x24], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x12
xor cl, byte [esp + edx + 0x20]
add cl, 0xa6
mov byte [esp + edx + 0x20], cl
inc edx
cmp edx, 5
jne 0x4291c0
mov ecx, dword [0x44ce50]
test ecx, ecx
je 0x429258
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44ce54]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x1b6183f2
je 0x42924c
inc esi
cmp ecx, esi
jne 0x4291f0
jmp 0x429258
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.00408220
add esp, 4
push 0
push esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
push eax
push dword [esp + 0x80]
call fcn.004400e0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp], 0
mov dword [esp + 0x10], esi
jmp dword [eax*4 + 0x447d24]
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42935d
mov edi, ebx
mov ebx, ebp
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp dword [0x447ddc]
jmp dword [0x447de4]
push ebp
call fcn.00408230
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.00408230
add esp, 4
jmp dword [0x447df0]
mov eax, dword [esp]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x447df4]
mov eax, dword [esp]
jmp dword [0x447dfc]
and al, 1
mov dword [esp], eax
jmp dword [0x447e04]
mov eax, dword [esp + 0x10]
mov byte [eax], 0
mov dword [esp + 0x20], 0x457a7ba3
mov dword [esp + 0x24], 0x79494a47
mov dword [esp + 0x28], 0x44404243
mov dword [esp + 0x2c], 0x7e426281
mov dword [esp + 0x30], 0x6d8b4873
mov dword [esp + 0x34], 0x4f757249
mov dword [esp + 0x38], 0x59569149
mov word [esp + 0x3c], 0xc754
mov dword [esp + 0x3e], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xd7
xor cl, byte [esp + eax + 0x20]
add cl, 0xcd
mov byte [esp + eax + 0x20], cl
inc eax
cmp eax, 0x22
jne 0x429310
mov eax, dword [esp + 0x10]
sub eax, esi
mov ecx, dword [esp + 0xfc]
push eax
push esi
lea eax, [esp + 0x28]
push eax
call fcn.00409250
jmp dword [0x447dfc]
push esi
mov esi, eax
call fcn.00408230
add esp, 4
mov eax, esi
and al, 1
mov dword [esp], eax
jmp dword [0x447e04]
push eax
push 4
push ecx
push dword [0x44ce58]
call fcn.0043d4f0
add esp, 0x10
mov edi, ebx
mov ebx, ebp
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
jmp dword [0x447ddc]
lea eax, [esp + 0x74]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043fca0
add esp, 0x14
mov eax, ebx
not eax
and eax, edi
mov ecx, edi
not ecx
and ecx, ebx
sub ecx, eax
sar ecx, 3
imul eax, ecx, 0x421
push eax
call fcn.00408220
add esp, 4
mov esi, eax
lea eax, [esp + 0x74]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.0043fca0
add esp, 0x14
jmp dword [0x447d0c]
ja 0x447bf1
ja 0x447c49
add byte [edi + 0x78], ch
ja 0x447c51
add byte [edi + 0x4c004278], bl
pop dword [edx]
adc al, 0x91
add dword [edx], 0x3e