Function at 0x42c62f
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push dword [esp + 4]
call fcn.00429f60
add esp, 4
test al, al
je 0x42a660
mov al, 1
ret
push ebp
push ebx
push edi
push esi
sub esp, 0xe4
mov dword [esp + 0xa4], 0x37c439e1
mov dword [esp + 0xa8], 0x33be35bb
mov dword [esp + 0xac], 0xcf3a31d1
mov dword [esp + 0xb0], 0xcb1acd38
mov dword [esp + 0xb4], 0xc74ac929
mov dword [esp + 0xb8], 0xc3c2c53c
mov word [esp + 0xbc], 0
xor eax, eax
mov cl, 0x89
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xa4]
xor dl, cl
mov ch, 0xb1
sub ch, dl
mov byte [esp + eax + 0xa4], ch
inc eax
dec cl
cmp eax, 0x1a
jne 0x42a6c0
mov dword [esp + 0x20], 0x33603154
mov dword [esp + 0x24], 0x3f713d71
mov dword [esp + 0x28], 0x3b693971
mov dword [esp + 0x2c], 0x47144518
mov dword [esp + 0x30], 0x43264119
mov dword [esp + 0x34], 0x4f0f4d19
mov dword [esp + 0x38], 0x4b02490b
mov dword [esp + 0x3c], 0x5700551d
mov dword [esp + 0x40], 0x5336511d
mov dword [esp + 0x44], 0x5f095d0f
mov dword [esp + 0x48], 0x5b065916
mov dword [esp + 0x4c], 0x6727653b
mov dword [esp + 0x50], 0x632f6132
mov dword [esp + 0x54], 0x6f306d08
mov dword [esp + 0x58], 0x6b1e6909
mov dword [esp + 0x5c], 0x771b750a
mov dword [esp + 0x60], 0x73217114
mov dword [esp + 0x64], 0x7f137d00
mov dword [esp + 0x68], 0x7b0f7919
mov word [esp + 0x6c], 0x8584
mov byte [esp + 0x70], 0
mov word [esp + 0x6e], 0
lea eax, [esp + 0x20]
mov ecx, 0xcb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
lea esi, [ecx - 0x21010c00]
or esi, edx
not esi
and edx, ecx
or edx, esi
mov esi, edx
and esi, 0xf9
mov edi, edx
and edi, 2
mov ebx, edi
xor ebx, 2
imul ebx, esi
or esi, 2
imul esi, edi
xor edx, 0xfb
add edx, ebx
add edx, esi
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x7a
jne case.default.0x42a7ff
lea ebx, [esp + 0xa4]
lea edi, [esp + 0x20]
push ebx
push edi
call fcn.0043a580
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44bc8c]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42a810
sub eax, esi
cmp eax, 0xffffffd9
jge 0x42a83d
mov eax, 0xffffffff
jmp 0x42a840
jmp dword [0x44bca0]
xor eax, eax
jmp 0x42b253
add eax, 0x26
push eax
call fcn.0040cbd0
add esp, 4
mov ebp, eax
mov dword [esp + 0x20], 0x77c979dc
mov dword [esp + 0x24], 0x73c075c7
mov dword [esp + 0x28], 0x4ff771ca
mov dword [esp + 0x2c], 0x4bee4df7
mov dword [esp + 0x30], 0x47f549f7
mov dword [esp + 0x34], 0x43f845f6
mov dword [esp + 0x38], 0x5fe541f9
mov dword [esp + 0x3c], 0x5bd05dae
mov dword [esp + 0x40], 0x57ec59e4
mov dword [esp + 0x44], 0x5554
mov byte [esp + 0x48], 0
mov eax, 0x16
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0xa]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0x92
mov byte [esp + eax + 0xa], cl
inc eax
cmp eax, 0x3f
jne 0x42a8b0
movzx ecx, word [esi]
mov eax, ebp
test cx, cx
je 0x42a8f1
mov edx, esi
add edx, 2
mov eax, ebp
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42a8e0
mov word [eax], 0
movzx ecx, word [esp + 0x20]
test cx, cx
je 0x42a921
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 0x42a910
mov word [eax], 0
jmp dword [0x44bca4]
push esi
call fcn.0040cbe0
add esp, 4
mov eax, dword [case.0x42a7ff.8]
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
cmp word [ebp], 0x2a
sete al
jmp dword [eax*4 + 0x44bcbc]
mov dword [esp + 0x20], 0x31743f79
mov dword [esp + 0x24], 0x3557335c
mov dword [esp + 0x28], 0x49483745
mov dword [esp + 0x2c], 0x4d314b2e
mov dword [esp + 0x30], 0x41224f35
mov dword [esp + 0x34], 0x45334325
mov dword [esp + 0x38], 0x5920473a
mov dword [esp + 0x3c], 0x5d235b23
mov dword [esp + 0x40], 0x51285f62
mov dword [esp + 0x44], 0x55345334
mov dword [esp + 0x48], 0x5754
mov eax, 0xb5
mov ecx, 0x4a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x95]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x77
mov byte [esp + eax - 0x95], dl
inc eax
dec ecx
cmp eax, 0xe1
jne case.default.0x42aa05
push 0
push edi
push ebp
call dword [sym.imp.KERNEL32.dll_CopyFileW]
push 0x60
push 3
push 0x120089
push ebx
push ebp
call fcn.00443880
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bcc4]
xor esi, esi
xor ebx, ebx
jmp dword [0x44bd14]
push ebp
call fcn.0040cbe0
add esp, 4
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x44bd1c]
xor eax, eax
test esi, esi
jne 0x42b21d
jmp 0x42b253
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0xac]
call fcn.00443bd0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44bccc]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
push 0
push esi
mov dword [esp + 0xc], eax
push eax
push dword [esp + 0xb0]
call fcn.00443cb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44bcd4]
mov dword [esp], ebp
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 4]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cbd0
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 + 0x74], eax
mov ecx, eax
push esi
push ebx
call case.0x42b58f.184
movzx eax, al
xor ebx, ebx
xor esi, esi
jmp dword [eax*4 + 0x44bcdc]
mov dword [esp + 0x20], 0x5380e29
mov dword [esp + 0x24], 0x32003019
mov dword [esp + 0x28], 0x15352145
mov dword [esp + 0x2c], 0x385b2c1e
mov dword [esp + 0x30], 0x1e2d2818
mov dword [esp + 0x34], 0x20274051
mov dword [esp + 0x38], 0xed181015
mov word [esp + 0x3c], 0x7bed
mov dword [esp + 0x3e], 0
mov byte [esp + 0x42], 0
mov eax, 0x749a9c65
mov ecx, 0x8b65639a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x749a9c45]
mov esi, ecx
and esi, 0x8a0501a1
mov ebx, eax
and ebx, 0x6490985e
or ebx, esi
xor ebx, 0xa1
lea esi, [ecx + 0x749a9d00]
or esi, ebx
not esi
add esi, ebx
and esi, edx
lea ebx, [eax - 0x749a9c00]
or ebx, edx
xor ebx, esi
add bl, 7
mov byte [esp + eax - 0x749a9c45], bl
inc eax
dec ecx
cmp eax, 0x749a9c88
jne 0x42ab60
mov ecx, dword [esp + 0x74]
push edi
call fcn.0042d420
xor ecx, ecx
test eax, eax
setne cl
xor esi, esi
xor ebx, ebx
jmp dword [ecx*4 + 0x44bce4]
mov ebp, dword [esp]
jmp dword [0x44bcf4]
mov edi, dword [esp + 0x74]
mov ecx, edi
call fcn.0042d590
push edi
call fcn.0040cbe0
add esp, 4
mov edi, dword [esp + 4]
jmp dword [0x44bcfc]
mov edi, dword [esp + 4]
jmp dword [0x44bcfc]
jmp dword [0x44bd08]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebx, ebx
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x44bcec]
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov dword [esi + eax + 4], edx
mov ebx, dword [esp + 8]
add ebx, 8
mov ecx, dword [esp + 0xc]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov edx, dword [esp + 0x14]
jmp dword [eax*4 + 0x44bcec]
mov dword [esp + 0xc], ecx
mov ebp, dword [ecx]
mov ecx, ebx
sub ecx, edi
cmp ebx, edx
mov dword [esp + 0x10], ecx
je 0x42ac6d
mov dword [esp + 8], ebx
mov esi, edi
jmp 0x42acfa
mov eax, ecx
sar eax, 3
inc eax
mov dword [esp + 0x14], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov edx, ecx
shr edx, 1
mov esi, edx
and esi, ecx
xor edx, ecx
lea ebx, [edx + esi*2]
cmp ebx, eax
ja 0x42ac91
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.0040cbd0
add esp, 4
mov esi, eax
test edi, edi
je 0x42aceb
mov edx, dword [esp + 0x14]
cmp edi, edx
je 0x42ace2
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x42acc0
push edi
call fcn.0040cbe0
add esp, 4
lea edx, [esi + ebx*8]
mov eax, esi
mov ecx, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0x14], edx
mov dword [esi + ecx], 0
mov dword [esi + ecx + 4], 0
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42ad10
push ebx
call fcn.0040cbd0
add esp, 4
mov dword [esp + 0x18], esi
mov ecx, dword [esp + 0x10]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
lea esi, [edx + ebp]
add edx, eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, esi
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebx
inc al
test al, 1
jne 0x42ad76
mov eax, ebx
and eax, 2
movzx ecx, byte [esi + eax]
mov byte [edx + eax], cl
xor edx, edx
cmp ebx, 1
je 0x42ac20
mov edx, 0xffffffff
mov eax, 1
movzx ecx, byte [ebp + eax - 1]
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov edx, ecx
shr edx, 1
mov esi, ecx
or esi, 1
xor ecx, 0xfffffffe
and ecx, esi
neg ecx
and ecx, 0xedb88320
xor ecx, edx
mov esi, ecx
shr esi, 1
mov edx, ecx
or edx, 1
xor ecx, 0xfffffffe
and ecx, edx
neg ecx
and ecx, 0xedb88320
mov edx, ecx
xor edx, esi
inc eax
cmp ebx, eax
jne 0x42ad80
not edx
jmp 0x42ac20
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44bd6c]
mov edx, dword [esi]
xor ebp, ebp
cmp dword [esi + 0x18], 3
jne 0x42ae79
mov ebp, dword [esi + 0x10]
mov eax, dword [case.0x42b58f.6]
nop
nop
jmp eax
test edx, edx
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44bd84]
mov dword [esp + 0x10], edx
mov ecx, ebp
nop
nop
mov eax, ecx
inc ecx
cmp byte [eax], 0
jne case.default.0x42aee4
mov dword [esp + 0x80], esi
mov dword [esp + 8], ebx
sub eax, ebp
inc eax
mov ecx, eax
shr ecx, 1
and eax, 2
mov dword [esp + 0x9c], ecx
xor ecx, 1
add ecx, eax
push ecx
call fcn.0040cbd0
add esp, 4
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x88], eax
jmp dword [ecx*4 + 0x44bd8c]
inc ebp
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44bd8c]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x42af13
mov ecx, 0xffffffff
or edx, 0x20
lea esi, [edx - 0x61]
cmp esi, 6
jae case.default.0x42af2e
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [ebp + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x44bd94]
lea esi, [edx - 0x30]
cmp esi, 0xa
jb 0x42af42
mov esi, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x42af68
add edx, 0xffffffa9
mov esi, edx
shl ecx, 4
or ecx, esi
add ebp, 2
mov byte [eax], cl
inc eax
movsx edx, byte [ebp]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x44bd8c]
mov byte [eax], 0
push 0
push 0x10
push 0
push dword [esp + 0x1c]
call fcn.0042d630
add esp, 0x10
mov dword [esp + 0x10], eax
mov ecx, dword [case.0x42af68.103]
mov dword [esp + 0x14], 0
mov edi, dword [case.0x42b58f.25]
xor ebx, ebx
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x44bd9c]
mov ebp, dword [eax + 4]
mov esi, ebp
shr esi, 0x1c
shl ebp, 4
or ebp, 1
xor esi, edx
xor ebp, dword [esp + 0x10]
xor ebx, ebx
or ebp, esi
sete bl
mov ebp, 1
jmp dword [ebx*4 + 0x44bda4]
mov esi, dword [eax]
mov dword [esp + 0x14], esi
nop
nop
nop
xor ebp, ebp
jmp ecx
jmp dword [ebp*4 + 0x44bdbc]
jmp edi
add eax, 8
xor ebx, ebx
cmp eax, dword [esp + 8]
setne bl
jmp dword [ebx*4 + 0x44bd9c]
xor eax, eax
mov edi, dword [esp + 0x14]
test edi, edi
setne al
jmp dword [eax*4 + 0x44bde4]
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x80]
jmp dword [0x44be04]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, 0xffffffff
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x80]
nop
nop
cmp byte [edi + eax + 1], 0
lea eax, [eax + 1]
jne 0x42b050
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edi
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov eax, dword [case.0x42b58f.36]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push 0x31f26afb
push dword [0x44fe8c]
call fcn.00442e20
add esp, 8
lea ecx, [esp + 0x8c]
lea edx, [esp + 0x94]
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 + 0x44bdfc]
jmp dword [0x44be04]
movzx eax, byte [edi]
test al, al
je 0x42b0fd
inc edi
mov ecx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x42b0f0
jmp 0x42b100
mov ecx, dword [esp]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x42b14b
mov ecx, dword [esp + 0x90]
mov edx, esi
and edx, 3
je 0x42b14f
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42b130
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x42b151
mov edi, eax
jmp 0x42b199
mov edx, esi
cmp esi, 4
jb 0x42b199
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x42b160
mov byte [edi], 0xa
inc edi
mov dword [esp], edi
push 0xd80d2c4a
push dword [0x44fe74]
call fcn.00442e20
add esp, 8
push dword [esp + 0x90]
call eax
mov al, 1
mov dword [esp + 4], eax
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x80]
jmp dword [0x44be04]
push dword [esp + 0x88]
call fcn.0040cbe0
add esp, 4
add esi, 4
mov esi, dword [esi]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44bd6c]
xor edx, edx
mov eax, dword [esp + 0x7c]
jmp dword [0x44be14]
jmp dword [0x44be4c]
push dword [esp + 0xc]
mov edi, eax
call fcn.0040cbe0
mov eax, edi
add esp, 4
and al, 1
test esi, esi
je 0x42b253
cmp esi, ebx
je 0x42b253
mov ebp, eax
mov edi, esi
jmp 0x42b237
add esi, 8
cmp esi, ebx
je 0x42b248
mov eax, dword [esi]
test eax, eax
je 0x42b230
push eax
call fcn.0040cbe0
add esp, 4
jmp 0x42b230
push edi
call fcn.0040cbe0
add esp, 4
mov eax, ebp
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebp, dword [esp + 0xf8]
jmp dword [0x44be0c]
mov esi, dword [esp + 0x84]
mov ecx, esi
call fcn.0042d590
push esi
call fcn.0040cbe0
add esp, 4
xor edx, edx
mov eax, dword [esp + 0x7c]
jmp dword [0x44be14]
push eax
call fcn.0040cbe0
xor edx, edx
add esp, 4
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44be28]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], 0xe8ebeae5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x27
xor cl, byte [esp + edx + 0x20]
add cl, 0x3d
mov byte [esp + edx + 0x20], cl
inc edx
cmp edx, 4
jne 0x42b2c0
mov ecx, dword [0x44fe80]
test ecx, ecx
je 0x42b308
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42b300
inc esi
cmp ecx, esi
jne 0x42b2f0
jmp 0x42b308
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42b331
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 4]
jmp dword [0x44be2c]
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edx
jmp dword [ecx*4 + 0x44be34]
mov ecx, dword [case.0x42b58f.55]
jmp case.0x42b58f.53
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 4]
jmp dword [0x44be2c]
add eax, 8
mov dword [esp + 4], 0
mov esi, dword [eax]
xor eax, eax
test esi, esi
setne al
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
jmp dword [eax*4 + 0x44bd6c]
xor edx, edx
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0xf8]
jmp dword [0x44be2c]
push dword [esp + 0x74]
mov edi, edx
call fcn.0040cbe0
add esp, 4
mov edx, edi
mov eax, edx
and al, 1
movzx ecx, al
mov eax, edi
jmp dword [ecx*4 + 0x44be34]
mov edi, esi
mov eax, dword [esp]
mov byte [eax], 0
mov dword [esp + 0x20], 0xd3ded909
mov dword [esp + 0x24], 0xd7e3ead5
mov dword [esp + 0x28], 0xd0d4d2d9
mov dword [esp + 0x2c], 0x1e2ef217
mov dword [esp + 0x30], 0xbed2419
mov dword [esp + 0x34], 0x2117222f
mov dword [esp + 0x38], 0x3f22e327
mov word [esp + 0x3c], 0xb520
mov dword [esp + 0x3e], 0
mov eax, 0xf2
mov ecx, 0xd
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0xd2]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x46
mov byte [esp + eax - 0xd2], dl
inc eax
dec ecx
cmp eax, 0x114
jne 0x42b410
mov eax, dword [esp + 0xc]
mov edx, dword [esp]
sub edx, eax
mov ecx, ebp
push edx
push eax
lea eax, [esp + 0x28]
push eax
call fcn.0040d7b0
mov ecx, dword [case.0x42b58f.55]
mov esi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
mov dword [esp + 0x7c], edi
not eax
shr eax, 0x1f
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
jmp dword [eax*4 + 0x44bd54]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov byte [edi + esi], 0
push 0x20
call fcn.0040cbd0
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 + 0x84], eax
mov ecx, eax
push esi
push edi
call case.0x42b58f.184
movzx eax, al
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
jmp dword [eax*4 + 0x44bd5c]
mov dword [esp + 0x20], 0x17041e33
mov dword [esp + 0x24], 0x2140413
mov dword [esp + 0x28], 0x71b2fc7
mov dword [esp + 0x2c], 0x2cc1180a
mov dword [esp + 0x30], 0xe131404
mov dword [esp + 0x34], 0x90936cb
mov dword [esp + 0x38], 0x7f696c76
mov dword [esp + 0x3c], 0x776d6c4f
mov dword [esp + 0x40], 0x8165
mov eax, 0xa8
mov ecx, 0x57
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x88]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, eax
and edx, ecx
or edx, esi
add dl, 0xb8
mov byte [esp + eax - 0x88], dl
inc eax
dec ecx
cmp eax, 0xcc
jne case.default.0x42b58f
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x20]
push eax
call fcn.0042d420
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc]
mov dword [esp], edx
jmp dword [ecx*4 + 0x44bd64]
mov dword [esp + 8], ebx
mov eax, ebx
mov dword [esp + 0x18], esi
sub eax, esi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040cbd0
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], 0xf3a6f19d
mov dword [esp + 0x24], 0xff5dfd4b
mov dword [esp + 0x28], 0xfb4ef959
mov dword [esp + 0x2c], 0xc776c585
mov dword [esp + 0x30], 0xc38ec170
mov dword [esp + 0x34], 0xcf72cd6d
mov dword [esp + 0x38], 0xcba7c969
mov dword [esp + 0x3c], 0xd785d570
mov dword [esp + 0x40], 0xd37fd16c
mov dword [esp + 0x44], 0xdf6bdd7d
mov dword [esp + 0x48], 0xdb6ed97c
mov dword [esp + 0x4c], 0x27852593
mov dword [esp + 0x50], 0x23962181
mov dword [esp + 0x54], 0x2f902d5a
mov dword [esp + 0x58], 0x2b842984
lea eax, [esp + 0x5c]
mov word [esp + 0x5c], 0x3534
mov dword [esp + 0x5e], 0
mov word [esp + 0x62], 0
mov ecx, 0x14
mov edx, 0x2b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0xc0
mov ebx, ecx
and ebx, 0x3f
or ebx, esi
xor bl, byte [esp + ecx + 0xc]
xor bl, 0xc0
add bl, 0xdc
mov byte [esp + ecx + 0xc], bl
inc ecx
dec edx
cmp ecx, 0x58
jne 0x42b680
lea edx, [esp + 0x20]
mov ecx, 0xf
lea ebx, [esp + 0xa4]
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xe0]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0xa0]
push esi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x44fe7c]
mov edi, dword [esp + 0xa0]
test edi, edi
jns 0x42b6f6
mov eax, 0xffffffff
jmp 0x42b6f9
lea eax, [edi + edi]
push eax
call fcn.0040cbd0
add esp, 4
mov ebp, eax
push esi
push edi
push eax
push 0x1e
push ebx
push 0
call dword [0x44fe7c]
lea eax, [esp + 0x1c]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x84], ebp
push ebp
call fcn.00443880
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bd24]
mov ebx, dword [esp + 8]
jmp dword [0x44bd30]
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x44bd1c]
push edi
call fcn.0040cbe0
add esp, 4
push edi
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bd0c]
mov dword [esp], ebp
mov ebp, esi
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x20], 0xe8ebeae5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
add cl, 0x27
xor cl, byte [esp + edx + 0x20]
add cl, 0x3d
mov byte [esp + edx + 0x20], cl
inc edx
cmp edx, 4
jne 0x42b790
mov ecx, dword [0x44fe80]
test ecx, ecx
je 0x42b7d8
mov edx, dword [esp + 0x20]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42b7d0
inc esi
cmp ecx, esi
jne 0x42b7c0
jmp 0x42b7d8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42b7e3
mov esi, ebp
mov ebp, dword [esp]
jmp dword [0x44bd14]
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
mov esi, ebp
mov ebp, dword [esp]
jmp dword [0x44bd14]
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.00443cb0
add esp, 0x10
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x28]
call fcn.00443cb0
add esp, 0x10
jmp dword [0x44bd50]
not eax
shr eax, 0x1f
xor edx, edx
mov dword [esp + 4], 0
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov ebp, dword [esp + 0xf8]
jmp dword [eax*4 + 0x44bd3c]
jmp dword [0x44bd44]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x24]
call fcn.00443bd0
add esp, 0xc
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x24]
call fcn.00443bd0
add esp, 0xc
jmp dword [0x44bd34]
jmp dword [0x44be68]
jmp dword [0x44be6c]
jmp dword [0x44bf14]
push edi
call fcn.0040cbe0
add esp, 4
nop
nop
nop
nop
nop
push edi
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bf20]
mov eax, dword [esp + 0x60]
and al, 1
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x80]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44be54]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + ecx + 0x90]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42bce0
mov dword [esp + 0x48], ecx
mov dword [esp + 0x64], eax
mov edx, eax
sar edx, 1
mov eax, dword [esp + 0x74]
inc eax
mov ecx, eax
and ecx, edx
mov dword [esp + 0x68], edx
xor eax, edx
lea edx, [eax + ecx*2]
lea ecx, [eax + ecx*2]
add ecx, 0xc
lea eax, [edx*2 + 0x18]
test ecx, ecx
jns 0x42bd1f
mov eax, 0xffffffff
push eax
call fcn.0040cbd0
add esp, 4
movzx ecx, word [edi]
mov esi, eax
test cx, cx
je 0x42bd51
mov edx, dword [esp + 0x7c]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42bd40
mov dword [esp + 0x6c], eax
mov dword [esp + 8], esi
mov word [esi], 0x5c
mov dword [esp + 0x10], 0x77a279dc
mov dword [esp + 0x14], 0x73cd75c7
mov dword [esp + 0x18], 0x4ffa71d1
mov dword [esp + 0x1c], 0x4be54dac
mov dword [esp + 0x20], 0x47e749c4
mov dword [esp + 0x24], 0x43ff45c8
mov dword [esp + 0x28], 0x4140
mov ecx, 0x37e9a516
mov ebp, 0x37e9a517
mov esi, 0xc8165ae9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp], ebp
movzx ebp, byte [esp + ecx - 0x37e9a506]
mov eax, ecx
and eax, ebp
add eax, eax
sub eax, ebp
add eax, esi
lea edi, [esi + 0x40000000]
or edi, eax
lea edx, [ecx + edi]
inc edx
mov eax, edx
or eax, 0xfffffffd
inc eax
mov ebx, edx
and ebx, 0xfffffffd
imul ebx, eax
add ebx, ebp
mov ebp, dword [esp]
or edx, 2
add edi, ebp
shr edi, 1
and edi, 1
imul edi, edx
add edi, edi
sub ebx, edi
add ebx, ecx
mov eax, ebx
and eax, 0x11
xor ebx, 0x91
lea eax, [ebx + eax*2]
inc al
mov byte [esp + ecx - 0x37e9a506], al
inc ecx
inc ebp
dec esi
cmp ecx, 0x37e9a532
jne 0x42bdb0
mov edx, dword [esp + 8]
add edx, 2
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
test cx, cx
je 0x42be41
add eax, 2
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x42be30
mov word [edx], 0
movzx eax, word [esp + 0x10]
test ax, ax
mov esi, dword [esp + 0x6c]
je 0x42be71
lea ecx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edx], ax
add edx, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42be60
mov word [edx], 0
lea eax, [esp + 0x70]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00443880
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44be74]
xor ebx, ebx
mov edi, dword [esp + 0x50]
jmp dword [0x44bef4]
push esi
call fcn.0040cbe0
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x44befc]
lea eax, [esp + 0x8c]
push 0
push eax
push dword [esp + 0x78]
call fcn.00443bd0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
mov dword [esp], 0
jmp dword [eax*4 + 0x44be7c]
mov esi, dword [esp + 0x8c]
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x7c]
call fcn.00443cb0
add esp, 0x10
not eax
shr eax, 0x1f
xor ecx, ecx
jmp dword [eax*4 + 0x44be84]
mov eax, dword [esp + 0x8c]
mov byte [edi + eax], 0
push edi
call fcn.00403d70
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], 0
jmp dword [eax*4 + 0x44be8c]
mov dword [esp + 0x78], edi
mov dword [esp + 0x4c], esi
jmp dword [0x44be94]
jmp dword [0x44beb8]
push ebp
call fcn.0040cbe0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bebc]
push esi
call fcn.00404860
add esp, 4
mov dword [esp + 0x10], 0x30350207
mov dword [esp + 0x14], 0x30e040e
mov dword [esp + 0x18], 0x380c34ce
mov dword [esp + 0x1c], 0x1b161c16
mov dword [esp + 0x20], 0x28252d2d
mov dword [esp + 0x24], 0x8e1421
xor ecx, ecx
xor esi, esi
nop
nop
nop
nop
movzx edi, byte [esp + esi + 0x10]
mov ebp, ecx
and ebp, 8
mov edx, esi
xor edx, 0xdc061f24
add edx, ebp
mov ebp, edx
and ebp, edi
add edx, edi
add ebp, ebp
sub edx, ebp
add dl, 0x4c
mov byte [esp + esi + 0x10], dl
inc esi
add ecx, 2
cmp esi, 0x18
jne 0x42bfc0
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00404c20
add esp, 8
mov ebp, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ebp + 1], 0
lea ebp, [ebp + 1]
jne 0x42c010
mov dword [esp + 8], ebp
mov edx, dword [esp + 8]
and edx, 0xfffffffc
mov ecx, dword [esp + 8]
and ecx, 3
mov esi, dword [esp + 8]
or esi, 3
imul esi, ecx
xor ecx, 3
imul ecx, edx
mov edx, dword [esp + 8]
add esi, ecx
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42c054
cmp ecx, 0x2e
jne 0x42c055
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x44], eax
je 0x42c068
cmp ecx, 0x2e
jne 0x42c069
dec esi
mov dword [esp + 0x5c], esi
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [esp + 8], 0
je 0x42c184
xor ebp, ebp
mov edi, 2
jmp 0x42c0b3
lea eax, [edi + 4]
add edi, 2
mov ebp, dword [esp]
cmp edi, edx
mov edi, eax
jae 0x42c184
mov esi, dword [esp + 0x44]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00421c70
add esp, 4
mov byte [esp], al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00421c70
mov edx, dword [esp + 0xc]
add esp, 4
mov byte [esp + 7], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + ebp], al
lea eax, [ebp + 1]
mov dword [esp], eax
cmp edi, edx
jae 0x42c0a0
movzx eax, byte [esi + edi]
push eax
call fcn.00421c70
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x42c0a0
mov ah, byte [esp + 7]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
lea esi, [ebp + 2]
mov dword [esp], esi
mov esi, dword [esp + 0xc]
mov byte [esi + ebp + 1], cl
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x42c0a0
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov byte [esp + 0xb], al
call fcn.00421c70
mov edx, dword [esp + 0xc]
add esp, 4
movzx ecx, byte [esp + 7]
cmp al, 0x40
je 0x42c0a0
shl cl, 6
add al, cl
mov ecx, dword [esp + 0xc]
mov byte [ecx + ebp + 2], al
add ebp, 3
mov dword [esp], ebp
jmp 0x42c0a0
mov eax, dword [esp + 0x5c]
add eax, 0xfffffffb
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc]
add eax, 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
push 0x31f26afb
push dword [0x44fe8c]
call fcn.00442e20
add esp, 8
lea ecx, [esp + 0x54]
lea edx, [esp + 0x84]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov esi, dword [esp + 0x4c]
push esi
call fcn.00404860
add esp, 4
mov dword [esp + 0x10], 0x30350207
mov dword [esp + 0x14], 0x30e040e
mov dword [esp + 0x18], 0x380c34ce
mov dword [esp + 0x1c], 0x1b161c16
mov dword [esp + 0x20], 0x28252d2d
mov dword [esp + 0x24], 0x8e1421
xor ecx, ecx
xor esi, esi
nop
nop
nop
movzx edi, byte [esp + esi + 0x10]
mov ebp, ecx
and ebp, 8
mov edx, esi
xor edx, 0xdc061f24
add edx, ebp
mov ebp, edx
and ebp, edi
add edx, edi
add ebp, ebp
sub edx, ebp
add dl, 0x4c
mov byte [esp + esi + 0x10], dl
inc esi
add ecx, 2
cmp esi, 0x18
jne 0x42c220
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00404c20
add esp, 8
mov ebp, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [eax + ebp + 1], 0
lea ebp, [ebp + 1]
jne 0x42c270
mov dword [esp], ebp
mov edx, dword [esp]
and edx, 0xfffffffc
mov ecx, dword [esp]
and ecx, 3
mov esi, dword [esp]
or esi, 3
imul esi, ecx
xor ecx, 3
imul ecx, edx
mov edx, dword [esp]
add esi, ecx
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42c2af
cmp ecx, 0x2e
jne 0x42c2b0
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x44], eax
je 0x42c2c3
cmp ecx, 0x2e
jne 0x42c2c4
dec esi
mov dword [esp + 0x5c], esi
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [esp], 0
je 0x42c3de
xor ebp, ebp
mov edi, 2
jmp 0x42c304
mov esi, ebp
lea eax, [edi + 4]
add edi, 2
mov ebp, esi
cmp edi, edx
mov edi, eax
jae 0x42c3de
mov esi, dword [esp + 0x44]
movzx eax, byte [esi + edi - 2]
push eax
call fcn.00421c70
add esp, 4
mov byte [esp + 8], al
movzx eax, byte [esi + edi - 1]
push eax
call fcn.00421c70
mov edx, dword [esp + 4]
add esp, 4
mov byte [esp + 7], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 8]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xc]
mov byte [ecx + ebp], al
mov dword [esp + 8], ebp
inc ebp
cmp edi, edx
jae 0x42c2f0
movzx eax, byte [esi + edi]
push eax
call fcn.00421c70
mov edx, dword [esp + 4]
add esp, 4
cmp al, 0x40
mov esi, ebp
je 0x42c2f2
movzx edx, byte [esp + 7]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov ebp, dword [esp + 8]
lea esi, [ebp + 2]
mov edx, dword [esp + 0xc]
mov byte [edx + ebp + 1], cl
mov edx, dword [esp]
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x42c2f2
mov ecx, dword [esp + 0x44]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov byte [esp + 0xb], al
call fcn.00421c70
mov edx, dword [esp + 4]
add esp, 4
movzx ecx, byte [esp + 7]
cmp al, 0x40
je 0x42c2f2
shl cl, 6
add al, cl
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov byte [ecx + esi + 2], al
add esi, 3
jmp 0x42c2f2
mov eax, dword [esp + 0x5c]
add eax, 0xfffffffb
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xc]
add eax, 5
mov dword [esp + 0x88], eax
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
push 0x31f26afb
push dword [0x44fe8c]
call fcn.00442e20
add esp, 8
lea ecx, [esp + 0x54]
lea edx, [esp + 0x84]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov esi, dword [esp + 0x4c]
jmp dword [0x44be9c]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44bea4]
mov dword [esp], 0
mov edi, dword [esp + 0x78]
jmp dword [0x44bec4]
jmp dword [0x44bed0]
mov eax, dword [esp + 0x64]
add eax, 0x10
cmp dword [esp + 0x68], 0xfffffff8
jge 0x42c478
mov eax, 0xffffffff
push eax
call fcn.0040cbd0
add esp, 4
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0x832681ef
mov dword [esp + 0x14], 0x87e88534
mov dword [esp + 0x18], 0x8b32893c
mov dword [esp + 0x1c], 0x8f8e8d38
lea eax, [esp + 0x20]
mov byte [eax + 2], 0
mov word [eax], 0
mov eax, 0x352dc620
mov ebp, 0xcad239e0
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x352dc610]
mov edx, eax
and edx, esi
add edx, edx
lea edi, [eax + esi]
sub edx, esi
add edx, ebp
and edi, 1
and edx, 0xfe
or edx, edi
mov cl, 0x60
sub cl, dl
mov byte [esp + eax - 0x352dc610], cl
inc eax
dec ebp
cmp eax, 0x352dc633
jne 0x42c4c0
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov ebp, dword [esp + 8]
mov eax, ebp
test cx, cx
je 0x42c521
mov eax, dword [esp + 0x48]
lea edx, [eax + 2]
mov eax, ebp
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c510
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
mov edi, dword [esp + 0x78]
je 0x42c553
lea edx, [esp + 0x12]
mov esi, dword [esp + 0x4c]
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c540
jmp 0x42c557
mov esi, dword [esp + 0x4c]
mov word [eax], 0
mov ecx, dword [esp + 0x108]
push dword [esp + 0x54]
push dword [esp + 0x5c]
push ebp
call fcn.0040d5f0
mov dword [esp], eax
jmp dword [0x44beac]
push 0xd80d2c4a
push dword [0x44fe74]
call fcn.00442e20
add esp, 8
push dword [esp + 0x58]
call eax
jmp dword [0x44bec4]
push dword [esp + 0xc]
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bed0]
jmp dword [0x44bf0c]
push edi
call fcn.0040cbe0
add esp, 4
mov eax, dword [esp + 0x70]
mov dword [esp + 0x10], 0xe8ebeae5
nop
nop
nop
nop
nop
mov ecx, ebx
add cl, 0x27
xor cl, byte [esp + ebx + 0x10]
add cl, 0x3d
mov byte [esp + ebx + 0x10], cl
inc ebx
cmp ebx, 4
jne 0x42c5d0
mov ecx, dword [0x44fe80]
test ecx, ecx
mov ebp, dword [esp + 0x50]
je 0x42c620
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x44fe84]
cmp dword [edi + esi*8], 0x7e776f1
je 0x42c610
inc esi
cmp ecx, esi
jne 0x42c600
jmp 0x42c620
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42c95d
nop
nop
nop
nop
mov ebx, dword [esp]
mov esi, dword [esp + 0x6c]
mov edi, ebp
jmp dword [0x44bef4]
movzx eax, bl
jmp dword [eax*4 + 0x44befc]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x68]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42c659
mov eax, 0xffffffff
push eax
call fcn.0040cbd0
add esp, 4
movzx ecx, word [edi]
mov esi, eax
test cx, cx
je 0x42c691
mov edx, dword [esp + 0x7c]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c680
mov dword [esp], eax
mov dword [esp + 8], esi
mov word [esi], 0x5c
mov dword [esp + 0x10], 0xfd209e4
mov dword [esp + 0x14], 0x3e50dff
mov dword [esp + 0x18], 0x7fa01e1
mov dword [esp + 0x1c], 0x1bcd0524
mov dword [esp + 0x20], 0x1fed19ec
mov dword [esp + 0x24], 0x13f31dea
mov dword [esp + 0x28], 0x17f311eb
mov dword [esp + 0x2c], 0x2bd615f8
mov dword [esp + 0x30], 0x2fa429cd
mov dword [esp + 0x34], 0x23de2dc9
mov dword [esp + 0x38], 0x27c021c4
mov word [esp + 0x3c], 0x2524
lea eax, [esp + 0x10]
mov byte [eax + 0x32], 0
mov dword [eax + 0x2e], 0
mov ecx, 0xc2
movzx edx, byte [esp + ecx - 0xb2]
lea esi, [ecx - 0x25884400]
mov edi, ecx
and edi, edx
mov ebp, edi
and ebp, 2
mov eax, edi
or eax, 0xfd
inc eax
mov ebx, edi
and ebx, 0xfffffffd
imul ebx, eax
or edi, 2
imul edi, ebp
sub ebx, edi
mov eax, esi
and eax, edx
xor esi, edx
lea eax, [esi + eax*2]
add eax, ebx
add al, 0x36
mov byte [esp + ecx - 0xb2], al
inc ecx
cmp ecx, 0xf5
jne 0x42c710
mov esi, dword [esp + 8]
add esi, 2
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
test cx, cx
je 0x42c793
lea edx, [eax + 2]
mov eax, dword [esp + 0x64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c780
jmp 0x42c797
mov eax, dword [esp + 0x64]
mov word [esi], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x42c7c1
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
nop
mov word [esi], cx
add esi, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c7b0
mov word [esi], 0
add eax, 0x12
cmp dword [esp + 0x68], 0xfffffff7
jge 0x42c7d5
mov eax, 0xffffffff
push eax
call fcn.0040cbd0
add esp, 4
mov ebp, eax
mov dword [esp + 0x10], 0x43ae416f
mov dword [esp + 0x14], 0x47d045a1
mov dword [esp + 0x18], 0x4ba649ad
mov dword [esp + 0x1c], 0x4fac4da8
mov dword [esp + 0x20], 0x7170
mov eax, 0x1b813a10
mov ecx, 0xef
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x1b813a00]
mov edi, ecx
or edi, esi
lea edx, [ecx - 0x1b813b00]
or edx, esi
sub edx, esi
add edx, eax
and edx, edi
mov bl, 0xaf
sub bl, dl
mov byte [esp + eax - 0x1b813a00], bl
inc eax
dec ecx
cmp eax, 0x1b813a24
jne 0x42c820
mov edx, dword [esp + 0x48]
movzx ecx, word [edx]
mov eax, ebp
test cx, cx
je 0x42c881
add edx, 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 0x42c870
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
mov edi, dword [esp + 0x50]
mov esi, dword [esp]
je 0x42c8b1
lea edx, [esp + 0x12]
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c8a0
mov word [eax], 0
mov dword [esp + 0x10], 0xcfcec916
mov eax, 0xb5485832
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x4ab7a7de]
xor ecx, eax
add ecx, 0x75964705
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
mov byte [esp + eax + 0x4ab7a7de], cl
inc eax
cmp eax, 0xb5485836
jne 0x42c8d0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x1c]
push eax
push esi
push ebp
push dword [esp + 0x120]
call fcn.004248e0
add esp, 0x1c
mov ecx, dword [esp + 0x60]
and cl, 1
or cl, al
mov dword [esp + 0x60], ecx
jmp dword [0x44bf04]
push ebp
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bf0c]
push esi
call fcn.0040cbe0
add esp, 4
mov ecx, dword [esp + 0x80]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x44be54]
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
mov ebx, dword [esp]
mov esi, dword [esp + 0x6c]
mov edi, ebp
jmp dword [0x44bef4]
mov dword [esp], ecx
jmp dword [0x44beec]
push esi
call fcn.00404e10
add esp, 4
push esi
call fcn.00404e10
add esp, 4
jmp dword [0x44bed8]
mov eax, dword [case.0x42b58f.71]
mov ecx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x44c04c]
push dword [esp + 0x74]
call fcn.0040cbe0
add esp, 4
mov eax, dword [esp + 8]
and al, 1
add esp, 0xbc
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x1c]
call fcn.00443bd0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44bf2c]
mov esi, dword [esp + 0x70]
lea eax, [esi + 1]
push eax
call fcn.0040cbd0
add esp, 4
push 0
push esi
mov dword [esp + 0x24], eax
push eax
push dword [esp + 0x20]
call fcn.00443cb0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x44bf34]
mov eax, dword [esp + 0x70]
jmp dword [0x44bf3c]
mov ecx, dword [esp + 0x1c]
mov byte [ecx + eax], 0
nop
nop
nop
nop
nop
mov edi, dword [esp + 0x1c]
mov byte [edi + eax], 0
mov dword [esp + 8], 0
jmp dword [0x44bf48]
movzx eax, byte [edi + 0xa]
add edi, 0xa
xor edx, edx
test al, al
je 0x42cc32
mov ecx, edi
nop
cmp al, 0x22
je 0x42cc30
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42cc20
jmp 0x42cc32
mov edx, ecx
mov ebp, edx
not ebp
and ebp, edi
mov esi, edi
not esi
and esi, edx
mov ebx, esi
sub ebx, ebp
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x44bf54]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x44bf6c]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x44bf74]
jmp dword [0x44bf88]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x44bf8c]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44bf94]
mov eax, ebx
inc eax
mov dword [esp], eax
mov dword [esp + 0xc], edx
jns 0x42ccb9
mov eax, 0xffffffff
jmp 0x42ccc0
lea eax, [ebx*2 + 2]
push eax
call fcn.0040cbd0
add esp, 4
mov dword [esp + 4], eax
push dword [esp + 0xc]
push edi
push dword [esp + 8]
push eax
call fcn.0040eee0
add esp, 0x10
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push dword [esp + 0x14]
call fcn.00443880
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bf9c]
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
jmp dword [0x44bffc]
lea eax, [esp + 0x6c]
push 0
push eax
push dword [esp + 0x28]
call fcn.00443bd0
add esp, 0xc
test eax, eax
setns al
mov edx, dword [esp + 0x6c]
cmp edx, 0x100000
setb cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44bfa4]
push edx
mov dword [esp + 4], edx
call fcn.0040cbd0
add esp, 4
push 0
push dword [esp + 4]
mov dword [esp + 0x70], eax
push eax
push dword [esp + 0x2c]
call fcn.00443cb0
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44bfac]
xor edx, edx
mov ecx, dword [esp + 4]
jmp 0x42cd88
add ecx, 2
test ax, ax
je 0x42cd9b
mov dword [esp], edx
movzx eax, word [ecx]
mov edx, ecx
cmp ax, 0x5c
je 0x42cd80
mov edx, dword [esp]
jmp 0x42cd80
xor eax, eax
cmp dword [esp], 0
setne al
jmp dword [eax*4 + 0x44bfb4]
mov dword [esp + 0x10], 0
xor ecx, ecx
jmp 0x42cde3
mov eax, dword [case.0x42cc4a.29]
nop
nop
nop
nop
jmp eax
mov edx, dword [esp]
sub edx, dword [esp + 4]
sar edx, 1
lea ecx, [edx + 1]
mov eax, ebx
not eax
mov dword [esp + 0x10], ecx
and eax, ecx
mov ecx, 0xfffffffe
sub ecx, edx
and ecx, ebx
sub ecx, eax
add ecx, 0x1b
push ecx
call fcn.0040cbd0
add esp, 4
mov dword [esp + 0x18], eax
sub ebx, dword [esp + 0x10]
mov dword [esp + 0x24], 0x181a182b
mov dword [esp + 0x28], 0x1f091b1e
mov dword [esp + 0x2c], 0x1e385318
mov dword [esp + 0x30], 0x44031c1c
mov dword [esp + 0x34], 0x120e0a26
mov dword [esp + 0x38], 0x501a1808
mov word [esp + 0x3c], 0xb251
mov byte [esp + 0x3e], 0x82
lea eax, [esp + 0x25]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov eax, 0x61cf42ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x61cf4287]
lea edx, [eax - 0x61cf4244]
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
mov edx, ecx
and edx, 0x7c
xor ecx, 0xfc
lea ecx, [ecx + edx*2]
add cl, 0xbd
mov byte [esp + eax - 0x61cf4287], cl
inc eax
cmp eax, 0x61cf42cb
jne 0x42ce50
movzx ecx, byte [esp + 0x24]
mov eax, dword [esp + 0x18]
test cl, cl
lea edx, [esp + 0x25]
je 0x42ceab
mov eax, dword [esp + 0x18]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42cea0
mov byte [eax], 0
test ebx, ebx
je 0x42cee2
mov edx, dword [esp + 0x10]
add edi, edx
mov ecx, ebx
and ecx, 3
je 0x42cee6
mov dword [esp], ecx
xor ecx, ecx
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
mov byte [eax + ecx], dl
inc ecx
cmp dword [esp], ecx
jne 0x42cec4
add eax, ecx
sub ebx, ecx
mov ecx, eax
mov edx, dword [esp + 0x10]
jmp 0x42cee6
mov ecx, eax
jmp 0x42cf28
sub edx, esi
add edx, ebp
cmp edx, 0xfffffffc
ja 0x42cf28
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [edi]
cmp cl, 1
sbb edi, 0xffffffff
mov byte [eax + 2], cl
movzx edx, byte [edi]
cmp dl, 1
sbb edi, 0xffffffff
lea ecx, [eax + 4]
mov byte [eax + 3], dl
mov eax, ecx
add ebx, 0xfffffffc
jne 0x42ceef
mov byte [ecx], 0
mov ecx, dword [esp + 0xd0]
push dword [esp + 0x6c]
push dword [esp + 0x6c]
mov esi, dword [esp + 0x20]
push esi
call fcn.0040d7b0
mov ecx, dword [esp + 8]
and cl, 1
or cl, al
mov dword [esp + 8], ecx
jmp dword [0x44bfcc]
jmp dword [0x44bfd4]
push esi
call fcn.0040cbe0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bfe0]
mov esi, dword [esp + 0x68]
jmp dword [0x44bfe4]
jmp dword [0x44bfec]
push esi
call fcn.0040cbe0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040cbe0
add esp, 4
jmp dword [0x44bff4]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x24], 0xe8ebeae5
xor ecx, ecx
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esp + ecx + 0x24]
add dl, 0x3d
mov byte [esp + ecx + 0x24], dl
inc ecx
cmp ecx, 4
jne 0x42cfc0
mov ecx, dword [0x44fe80]
test ecx, ecx
je 0x42d008
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d000
inc esi
cmp ecx, esi
jne 0x42cff0
jmp 0x42d008
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x42d01c
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
jmp dword [0x44bffc]
jmp dword [0x44c008]
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 4]
jmp dword [0x44bffc]
push esi
call fcn.0040cbe0
add esp, 4
push esi
call fcn.0040cbe0
add esp, 4
mov edi, dword [esp + 0xc]
jmp dword [0x44c00c]
mov dword [esp + 0x24], 0x4246444e
mov dword [esp + 0x28], 0x467d487a
mov dword [esp + 0x2c], 0xd2b5af
mov eax, 0x6cc873d7
nop
nop
nop
movzx ecx, byte [esp + eax - 0x6cc873b3]
xor ecx, eax
neg ecx
lea edx, [ecx + ecx]
and edx, 0x68
xor ecx, 0xe015bccb
inc ecx
mov esi, ecx
sub esi, edx
and ecx, 1
and esi, 0xfe
or esi, ecx
xor esi, 1
lea ecx, [esi + ecx*2]
mov byte [esp + eax - 0x6cc873b3], cl
inc eax
cmp eax, 0x6cc873e3
jne 0x42d080
movzx edx, byte [esp + 0x24]
test dl, dl
je 0x42d102
lea eax, [esp + 0x24]
mov ecx, edi
jmp 0x42d0d7
movzx edx, byte [eax]
test dl, dl
je 0x42d102
mov dh, byte [ecx]
test dh, dh
je 0x42d100
inc ecx
inc eax
lea esi, [edi + 1]
cmp dh, dl
je 0x42d0ea
mov edi, esi
mov ecx, esi
je 0x42d0d0
lea eax, [esp + 0x24]
jmp 0x42d0d0
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44bf4c]
jmp dword [0x44c014]
push dword [esp + 0x1c]
call fcn.0040cbe0
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x44c024]
jmp dword [0x44c02c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], 0xe8ebeae5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esp + ecx + 0x24]
add dl, 0x3d
mov byte [esp + ecx + 0x24], dl
inc ecx
cmp ecx, 4
jne 0x42d150
mov ecx, dword [0x44fe80]
test ecx, ecx
je case.0x42b58f.177
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d190
inc esi
cmp ecx, esi
jne 0x42d180
jmp case.0x42b58f.177
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je case.0x42b58f.177
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
jmp case.0x42b58f.177
jmp dword [0x44c038]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x24], 0xe8ebeae5
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x27
xor dl, byte [esp + ecx + 0x24]
add dl, 0x3d
mov byte [esp + ecx + 0x24], dl
inc ecx
cmp ecx, 4
jne 0x42d1d0
mov ecx, dword [0x44fe80]
test ecx, ecx
je 0x42d1b0
mov edx, dword [esp + 0x24]
xor esi, esi
mov edi, dword [0x44fe84]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x7e776f1
je 0x42d210
inc esi
cmp ecx, esi
jne 0x42d200
jmp 0x42d1b0
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42d1b0
push eax
push 1
push dword [0x44fe88]
push ecx
call fcn.00440600
add esp, 0x10
jmp dword [0x44c038]
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov byte [esp + 2], 0
mov byte [esp + 3], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
cmp byte [eax], 0
je 0x42d40b
mov esi, ecx
mov dword [esp + 4], 0
lea edi, [esp + 3]
lea ebx, [esp + 2]
jmp 0x42d293
mov dword [esp + 4], ebp
xor esi, esi
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x42d40b
lea ecx, [esp + 8]
push edi
push ebx
call fcn.0042d8f0
test eax, eax
je 0x42d40b
mov ebp, eax
cmp byte [esp + 2], 0
jne 0x42d2b9
cmp byte [ebp], 0
je 0x42d40b
test esi, esi
je 0x42d320
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d2c0
push ebx
call fcn.0040cbd0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add ebp, edx
add edx, eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebx
inc al
test al, 1
jne 0x42d310
and ebx, 2
movzx eax, byte [ebp + ebx]
mov byte [edx + ebx], al
mov ebp, esi
lea edi, [esp + 3]
jmp 0x42d3c1
push 0x20
call fcn.0040cbd0
add esp, 4
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d360
push ebx
call fcn.0040cbd0
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add ebp, edx
add edx, eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov eax, ebp
mov edi, edx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, ebx
inc al
test al, 1
jne 0x42d3b0
and ebx, 2
movzx eax, byte [ebp + ebx]
mov byte [edx + ebx], al
mov eax, dword [esp + 4]
test eax, eax
lea edi, [esp + 3]
je 0x42d3bf
mov dword [eax + 4], esi
mov ebp, esi
lea ebx, [esp + 2]
lea esi, [esp + 8]
mov ecx, esi
push edi
push ebx
call fcn.0042d8f0
cmp byte [esp + 3], 0
je 0x42d3e2
mov ecx, esi
push edi
push ebx
call fcn.0042d8f0
test eax, eax
je 0x42d280
cmp byte [eax], 0x7b
jne 0x42d280
cmp byte [esp + 2], 0
jne 0x42d280
mov ecx, ebp
push esi
call fcn.0042dbd0
jmp 0x42d280
mov al, 1
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 8
test al, 0x42
add byte [eax], dh
test al, 0x42
add byte [eax], dh
test al, 0x42
add byte [eax], dh
test al, 0x42
add byte [eax], dh
test al, 0x42
add byte [esi], dh
test al, 0x42
add byte [ecx + ebp*4], ch
inc edx
add byte [edx - 0x57], al
inc edx
add byte [eax - 0x57], al
inc edx
add byte [eax - 0x57], al
inc edx
add byte [edx - 0x57], al
inc edx
add byte [eax - 0x57], al
inc edx
add ch, ch
test eax, 0xa9530042
inc edx
add byte [edx + ebp*4], cl
stosb byte es:[edi], al
stosb byte es:[edi], al
inc edx
add byte [edx + ebp*4], bh
inc edx
add byte [edi + esi*4 + 0x42], ch
add byte [ebp - 0x56], ah
inc edx
add dh, ch
stosd dword es:[edi], eax
inc edx
add byte [edi - 0x38ffbd56], bl
stosd dword es:[edi], eax
inc edx
add bh, bh
stosb byte es:[edi], al
inc edx
add bh, al
stosd dword es:[edi], eax
inc edx
add dh, bh
stosd dword es:[edi], eax
inc edx
add bh, al
stosd dword es:[edi], eax
inc edx
add byte [eax - 0x54], dl
inc edx
add al, dl
stosd dword es:[edi], eax
inc edx
add dh, ch
stosd dword es:[edi], eax
inc edx
add al, bh
stosd dword es:[edi], eax
inc edx
add byte [edi + esi*4 + 0x42], ch
add byte [edi + esi*4 + 0x42], dl
add byte [ebp - 0x49], bl
inc edx
add byte [edi + esi*4 + 0x42], ch
add byte [edi + esi*4 + 0x42], dl
add byte [esi], dl
stosb byte es:[edi], al
inc edx
add byte [esi - 0x49], al
inc edx
add byte [esi + 0x2d0042b5], dl
stosb byte es:[edi], al
inc edx
add byte [ebx - 0x4d], dh
inc edx
add byte [edi + esi*4], bh
inc edx
add byte [edx - 0x48], dh
inc edx
add byte [ebp + 0x480042b8], al
mov eax, 0xb8720042
inc edx
add byte [esi + 0x6c0042b2], ah
mov eax, 0xb8200042
inc edx
add byte [eax], al
mov eax, 0xb8200042
inc edx
add byte [edx - 0x4c], ah
inc edx
add ch, dh
mov cl, 0x42
add byte [ecx + 0x5e0042b4], al
mov dl, 0x42
add cl, ch
mov ah, 0x42
add byte [esi - 0x4e], bl
mov dl, 0x42
mov dl, 0x42
add byte [ecx - 0x4d], dl
inc edx
add byte [esi - 0x4e], bl
inc edx
add byte [esi + ebp*4 + 0x42], ch
add byte [eax - 0x7fffbd52], al
scasb al, byte es:[edi]
inc edx
add byte [eax - 0x7dffbd52], al
scasb al, byte es:[edi]
inc edx
add byte [ecx - 0x52], bl
inc edx
add byte [eax + 0x6f0042ae], bl
scasd eax, dword es:[edi]
inc edx
add byte [esi], al
scasd eax, dword es:[edi]
inc edx
add al, dh
scasb al, byte es:[edi]
inc edx
add byte [0x50042af], dh
mov al, 0x42
add byte [eax - 0x1bffbd51], dh
scasd eax, dword es:[edi]
inc edx
add bh, dl
scasd eax, dword es:[edi]
inc edx
add al, ah
scasd eax, dword es:[edi]
inc edx
add al, ah
scasd eax, dword es:[edi]
inc edx
add al, ah
scasd eax, dword es:[edi]
inc edx
add ah, ah
scasd eax, dword es:[edi]
inc edx
add byte [0xf00042b0], al
scasd eax, dword es:[edi]
inc edx
add al, dh
scasd eax, dword es:[edi]
inc edx
add al, dh
scasd eax, dword es:[edi]
inc edx
add dl, dh
scasd eax, dword es:[edi]
inc edx
add al, dh
scasd eax, dword es:[edi]
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x10042b0], al
add byte [eax], al
add byte [edi], dl
mov al, 0x42
add byte [eax], ch
mov al, 0x42
add byte [eax - 0x6fffbd50], dl
mov al, 0x42
add byte [eax - 0x6dffbd50], dl
mov al, 0x42
add dl, dl
mov al, 0x42
add al, bl
mov al, 0x42
add bl, dl
mov cl, 0x42
add byte [ecx - 0x52], bl
inc edx
add byte [ebx - 0x4e], ch
inc edx
add ch, dh
mov cl, 0x42
add byte [esi - 0x5fffbd4e], cl
mov dl, 0x42
add byte [eax - 0x5fffbd4e], ah
mov dl, 0x42
add byte [eax - 0x59ffbd4e], ah
mov dl, 0x42
add byte [ecx + 0x160042b3], dl
mov bl, 0x42
add byte [esi], ah
mov bl, 0x42
add byte [ecx + 0x600042b3], dh
mov ah, 0x42
add byte [eax - 0x4c], ah
inc edx
add byte [ecx], al
mov dl, 0x42
add byte [eax - 0x4c], ah
inc edx
add byte [edi], al
mov dl, 0x42
add byte [edi], dl
mov dl, 0x42
add byte [eax - 0x44], dh
inc edx
add cl, cl
mov esp, 0xbc700042
inc edx
add byte [eax - 0x44], dh
inc edx
add byte [eax - 0x44], dh
inc edx
add byte [esi - 0x44], dh
inc edx
add byte [esp + edi*4 + 0x42], bh
add byte [edi - 0x66ffbd44], bl
mov esi, 0xbec00042
inc edx
add byte [edi - 0x14ffbd3b], bh
mov esi, 0xc9800042
inc edx
add byte [esi], bl
mov edi, 0xc9a10042
inc edx
add byte [ecx - 0x41], cl
inc edx
add al, ah
rol dword [edx], 0x7f
mov edi, 0xc4400042
inc edx
add byte [edi - 0x41], bh
inc edx
add byte [esi - 0x3c], cl
inc edx
add byte [ebp - 0x3c], ah
inc edx
add byte [edi - 0x41], dl
inc edx
add byte [edx - 0x3b], bh
inc edx
add byte [ebp - 0x41], bl
inc edx
add byte [eax - 0x41], dh
inc edx
add byte [edx - 0x3b], bh
inc edx
add byte [eax - 0x41], dh
inc edx
add byte [ecx + 0x5f0042c5], bl
les eax, [edx]
mov ecx, ecx
inc edx
add byte [edx - 0x76ffbd37], dl
leave
inc edx
add byte [ecx - 0x4fffbd37], ah
leave
inc edx
add byte [eax - 0x4fffbd37], dh
leave
inc edx
add byte [eax - 0x49ffbd37], al
lds eax, [edx]
mov edi, 0xa50042c5
mov esi, -969998270
inc edx
add byte [eax + 0x390042bc], dh
mov byte [edx], 0x2c
leave
inc edx
add byte [eax + 0x3b0042c5], dh
leave
inc edx
add byte [eax - 0x6fffbd44], dh
mov esp, 0xbc820042
inc edx
add byte [eax - 0x60ffbd44], dl
mov esp, 0xcb570042
inc edx
add byte [edx - 0x35], bh
inc edx
add byte [esi], dh
rol dword [edx], 1
mov eax, dword [0x100042cb]
rol dword [edx], 1
fxch st(3)
inc edx
add al, dh
retf
int3