Function at 0x420a22
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x458
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], 0xfbc09bf
mov dword [esp + 0x5c], 0x13ab0da5
mov dword [esp + 0x60], 0x176211a1
mov dword [esp + 0x64], 0x1bac15bd
mov dword [esp + 0x68], 0x1f1819b1
mov byte [esp + 0x6c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x14
ja 0x420803
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x58]
add eax, 0x1838df29
xor eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
add al, 0xdd
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x58], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x15
jb case.default.0x420814
lea eax, [esp + 0x58]
lea ecx, [esp + 0x40]
push eax
call fcn.0043b480
shr eax, 0x1f
jmp dword [eax*4 + 0x446c20]
lea ecx, [esp + 0x40]
push 0x410
call fcn.0043b6a0
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446c38]
xor ebx, ebx
jmp dword [0x446c4c]
xor ebx, ebx
jmp dword [0x446c34]
lea ecx, [esp + 0x40]
call fcn.0043b800
mov eax, ebx
add esp, 0x458
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x58], 0xc3a8f1c2
mov dword [esp + 0x5c], 0xf9c1a4cf
mov dword [esp + 0x60], 0xf5fefaa6
mov dword [esp + 0x64], 0xeec5ff9a
mov dword [esp + 0x68], 0xc9909be1
mov dword [esp + 0x6c], 0xf6979f92
mov dword [esp + 0x70], 0xebe287fd
mov dword [esp + 0x74], 0xef84ed8c
mov dword [esp + 0x78], 0x8ffbfff5
mov dword [esp + 0x7c], 0xe7889cfe
mov dword [esp + 0x80], 0x32e1f886
mov word [esp + 0x84], 0
mov byte [esp + 0x86], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x2e
ja 0x420923
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x58]
add eax, 0x824b9497
xor eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
add al, 0x10
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x58], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x2f
jb 0x4208f0
lea eax, [esp + 0x34]
lea ecx, [esp + 0x40]
push 0
push 0x2b
lea edx, [esp + 0x60]
push edx
push eax
call fcn.0043bc70
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
xor eax, eax
cmp esi, edi
sete al
jmp dword [eax*4 + 0x446c50]
mov eax, edi
sub eax, esi
sar eax, 2
imul eax, eax, 0x421
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0x28], 0
xor ecx, ecx
mov dword [esp + 0x4c], edi
cmp esi, edi
setne cl
mov dword [esp + 0x24], eax
mov ebx, eax
jmp dword [ecx*4 + 0x446c58]
mov eax, dword [esp + 0x28]
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x446c60]
mov ebx, dword [esp + 0x28]
jmp dword [0x446d00]
mov esi, dword [esp + 0x50]
add esi, 4
xor eax, eax
cmp esi, dword [esp + 0x4c]
setne al
jmp dword [eax*4 + 0x446c58]
mov dword [esp + 0x50], esi
mov esi, dword [esi]
push 0x400
push 0
lea edi, [esp + 0x60]
push edi
call fcn.00409ad0
add esp, 0xc
lea eax, [esp + 4]
lea ecx, [esp + 0x40]
push eax
push 0x400
push edi
push esi
call fcn.0043bb20
cmp eax, 0xc0000000
setae al
cmp dword [esp + 4], 0
sete cl
or cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446c68]
mov eax, 1
jmp 0x420a12
xor eax, eax
mov ecx, dword [case.0x420949.11]
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [eax*4 + 0x446c80]
mov byte [esp + 0x457], 0
movzx eax, byte [esp + 0x58]
xor edx, edx
test al, al
je case.0x420949.17
lea ecx, [esp + 0x58]
cmp al, 0x2e
je 0x420a4f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420a40
jmp case.0x420949.17
mov edx, ecx
xor eax, eax
test edx, edx
setne al
jmp dword [eax*4 + 0x446c98]
movzx eax, byte [edx + 1]
inc edx
xor edi, edi
test al, al
je 0x420a7f
mov esi, edx
mov ecx, edx
nop
nop
cmp al, 0x2e
je 0x420a83
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x420a70
jmp 0x420a85
mov esi, edx
jmp 0x420a85
mov edi, ecx
xor eax, eax
test edi, edi
setne al
mov dword [esp + 0x18], esi
mov dword [esp + 0x30], edi
jmp dword [eax*4 + 0x446ca0]
mov dword [esp + 0x54], ebx
jmp dword [0x446ca8]
mov ecx, edi
mov ebx, esi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x420abf
cmp eax, 0x2e
jne 0x420ac0
dec edx
movzx eax, byte [ebx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x14], ecx
je 0x420ad3
cmp eax, 0x2e
jne 0x420ad4
dec edx
mov dword [esp + 0x2c], edx
lea eax, [edx + 1]
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0xc], eax
cmp edi, ebx
mov edi, dword [esp + 0x14]
je 0x420bde
xor esi, esi
mov ebp, 2
jmp 0x420b1c
mov edx, edi
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
mov esi, edi
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x18]
mov edi, edx
jae 0x420bde
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00416820
add esp, 4
mov ecx, ebx
mov ebx, eax
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00416820
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
mov ecx, dword [esp + 0x18]
lea ebx, [esi + 1]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20], esi
mov byte [edx + esi], ah
cmp ebp, edi
jae 0x420b00
mov byte [esp + 3], al
movzx eax, byte [ecx + ebp]
push eax
call fcn.00416820
mov edx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x420b04
mov esi, dword [esp + 0x20]
lea edi, [esi + 2]
movzx ecx, byte [esp + 3]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov ecx, dword [esp + 0xc]
mov byte [ecx + esi + 1], al
lea eax, [ebp + 1]
cmp eax, edx
jae 0x420b04
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + ebp + 1]
push eax
call fcn.00416820
mov edx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
je 0x420b04
shl bl, 6
add al, bl
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x20]
mov byte [ecx + esi + 2], al
add esi, 3
mov edi, esi
jmp 0x420b04
mov esi, ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
push ecx
call fcn.004029e0
add esp, 4
mov edi, dword [esp + 0x30]
jmp case.0x420a94.2
mov esi, ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0xc]
mov byte [ecx + eax], 0
push ecx
call fcn.004029e0
add esp, 4
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x30]
jmp dword [0x446cb4]
mov ecx, edi
mov ebx, esi
sub ecx, esi
lea edx, [ecx + ecx*2]
shr edx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x420c3f
cmp eax, 0x2e
jne 0x420c40
dec edx
movzx eax, byte [ebx + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0x14], ecx
je 0x420c53
cmp eax, 0x2e
jne 0x420c54
dec edx
mov dword [esp + 0x2c], edx
lea eax, [edx + 1]
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0xc], eax
cmp edi, ebx
mov esi, dword [esp + 0x14]
je 0x420c00
xor edi, edi
mov ebp, 2
jmp 0x420c9a
mov edx, esi
mov edi, ebx
lea eax, [ebp + 4]
add ebp, 2
cmp ebp, edx
mov ebp, eax
mov ebx, dword [esp + 0x18]
mov esi, edx
jae 0x420c00
movzx eax, byte [ebx + ebp - 2]
push eax
call fcn.00416820
add esp, 4
mov ecx, ebx
mov bh, al
movzx eax, byte [ecx + ebp - 1]
push eax
call fcn.00416820
add esp, 4
shl bh, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bh
mov ecx, dword [esp + 0x18]
lea ebx, [edi + 1]
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0xc]
mov byte [edx + edi], ah
cmp ebp, esi
jae 0x420c80
mov byte [esp + 3], al
movzx eax, byte [ecx + ebp]
push eax
call fcn.00416820
mov edx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
mov edi, ebx
je 0x420c84
mov esi, dword [esp + 0x20]
lea edi, [esi + 2]
mov ah, byte [esp + 3]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
mov ebx, dword [esp + 0xc]
mov byte [ebx + esi + 1], cl
lea ecx, [ebp + 1]
cmp ecx, edx
jae 0x420c84
mov ecx, dword [esp + 0x18]
movzx ecx, byte [ecx + ebp + 1]
push ecx
mov ebx, eax
call fcn.00416820
mov edx, dword [esp + 0x18]
add esp, 4
cmp al, 0x40
je 0x420c84
mov ecx, ebx
shl cl, 6
add al, cl
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0xc]
mov byte [esi + edi + 2], al
add edi, 3
jmp 0x420c84
jmp dword [0x446cb8]
push dword [esp + 0xc]
mov esi, eax
call fcn.00409a60
mov eax, esi
add esp, 4
mov esi, eax
push eax
call fcn.00403460
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446cd0]
mov ecx, esi
jmp 0x420ea6
mov dword [esp + 4], 0xdb084bd
mov word [esp + 8], 0
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
cmp ecx, 5
ja 0x420df5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movzx edx, byte [esp + edx + 4]
add ecx, 0x79f439df
xor ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add cl, 0x11
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 4], cl
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp ecx, 6
jb 0x420dc0
lea ecx, [esp + 4]
push ecx
push eax
call fcn.00403220
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446cd8]
mov ecx, esi
jmp dword [0x446ce4]
movzx edx, byte [eax]
test dl, dl
mov ecx, esi
je 0x420e3b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x420e30
mov word [ebx], 0x203a
add ebx, 2
jmp dword [0x446ce4]
movzx eax, byte [esp + 0x58]
mov edx, ebx
test al, al
je 0x420e6b
lea esi, [esp + 0x59]
mov edx, ebx
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x420e60
mov byte [edx], 0xa
jmp case.0x420e0a.3
mov byte [eax], 0xa
jmp dword [0x446cec]
movzx edx, byte [esp + 0x58]
mov eax, ebx
test dl, dl
je 0x420e70
lea esi, [esp + 0x59]
mov eax, ebx
nop
nop
nop
nop
nop
nop
mov byte [eax], dl
inc eax
movzx edx, byte [esi]
inc esi
test dl, dl
jne 0x420e90
jmp 0x420e70
inc eax
mov dl, 1
mov dword [esp + 0x28], edx
mov ebx, eax
push ecx
call fcn.00403a10
add esp, 4
mov eax, dword [case.0x420949.12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor ebx, ebx
test esi, esi
jne 0x420fa9
jmp case.0x420814.5
mov ecx, dword [esp + 0x46c]
mov byte [ebx], 0
mov dword [esp + 0x58], 0x8eb1b0fe
mov dword [esp + 0x5c], 0xb284878a
mov dword [esp + 0x60], 0xb987878e
mov dword [esp + 0x64], 0x8bb99fc4
mov dword [esp + 0x68], 0xa6febd8e
mov dword [esp + 0x6c], 0xb8b0bfbc
mov dword [esp + 0x70], 0x828df684
mov dword [esp + 0x74], 0x1c8f
mov byte [esp + 0x78], 0
sub ebx, dword [esp + 0x24]
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x20
ja 0x420f73
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x58]
add eax, 0x8214abcf
xor eax, edx
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
add al, 0x10
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x58], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x21
jb 0x420f40
lea eax, [esp + 0x58]
push ebx
push dword [esp + 0x28]
push eax
call fcn.0040a3e0
mov ebx, eax
jmp dword [0x446d00]
push dword [esp + 0x24]
call fcn.00409a60
add esp, 4
and bl, 1
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
test esi, esi
je case.0x420814.5
cmp esi, edi
je case.0x420814.5
push esi
call fcn.00409a60
add esp, 4
jmp case.0x420814.5
int3
xor edx, edx
test eax, eax
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446da0]
jmp dword [ecx*4 + 0x446d18]
mov dword [esp + 0x30], 0x21d22fc2
mov dword [esp + 0x34], 0x25e323e7
mov dword [esp + 0x38], 0xd92b27df
mov dword [esp + 0x3c], 0xdd2edb2e
mov dword [esp + 0x40], 0xd13cdf37
mov dword [esp + 0x44], 0xd515d32f
mov dword [esp + 0x48], 0xc930d715
mov dword [esp + 0x4c], 0xcd32cb33
mov dword [esp + 0x50], 0xc12ccf0b
mov dword [esp + 0x54], 0xc53bc331
mov dword [esp + 0x58], 0xf90cc700
mov dword [esp + 0x5c], 0xfd3dfb0d
mov dword [esp + 0x60], 0xf135ff0c
mov dword [esp + 0x64], 0xf502f31e
mov dword [esp + 0x68], 0xe974f717
mov dword [esp + 0x6c], 0xed09eb7c
mov dword [esp + 0x70], 0xe113ef02
mov dword [esp + 0x74], 0xe501e376
mov dword [esp + 0x78], 0x9905e707
mov word [esp + 0x7c], 0x9b9a
lea ecx, [esp + 0x7e]
mov byte [ecx + 2], 0
mov word [ecx], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x50
ja 0x421133
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]
lea ebx, [ecx + edx]
add ebx, 0xc7b55ff6
add ecx, 0xc7b55ff6
and ecx, edx
mov edx, ebx
not edx
and edx, ecx
add edx, ecx
not ecx
and ecx, ebx
sub ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
mov edx, ecx
not edx
and edx, 0xd8
and ecx, 0x27
sub ecx, edx
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x51
jb 0x4210e0
push 0
push 0
push eax
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.0043fb10
add esp, 0x14
shr eax, 0x1f
lea ebx, [esp + 0x28]
jmp dword [eax*4 + 0x446d30]
jmp dword [0x446d3c]
mov eax, 4
xor ecx, ecx
cmp eax, 4
setl cl
jmp dword [ecx*4 + 0x446d90]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446d48]
mov ecx, dword [esp + 0x98]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x4211a2
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov edi, eax
mov dword [esp + 0x30], 0x6dfe6f17
mov dword [esp + 0x34], 0x61f463f5
mov dword [esp + 0x38], 0x65f86707
mov dword [esp + 0x3c], 0x99e89b06
mov dword [esp + 0x40], 0x9d089fff
mov dword [esp + 0x44], 0x9190930a
mov word [esp + 0x48], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x19
ja 0x42122e
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 + 0x30]
add eax, 0xd5be84f4
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x66
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1a
jb 0x421200
push esi
push edi
push 0
push ebp
push dword [esp + 0x2c]
call fcn.004404b0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x446d50]
jmp dword [0x446d58]
push edi
call fcn.00409a60
add esp, 4
mov eax, dword [case.0x42114d.6]
nop
nop
nop
xor edi, edi
jmp eax
mov esi, ebp
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], 0x70605
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x4212cd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
lea ebx, [ecx + edx]
add ebx, 0xad100031
add ecx, 0xad100031
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x421290
mov ecx, dword [0x44a974]
test ecx, ecx
je 0x421310
mov edx, dword [esp + 0x30]
xor ebx, ebx
mov ebp, dword [0x44a978]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x625b6034
je 0x421301
inc ebx
cmp ecx, ebx
jne 0x4212f0
jmp 0x421310
mov ecx, dword [ebp + ebx*8 + 4]
cmp ecx, edx
jne case.default.0x421322
nop
nop
nop
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
mov ebp, esi
lea ebx, [esp + 0x28]
jmp dword [ecx*4 + 0x446d70]
push ebp
call fcn.0043f170
add esp, 4
cmp dword [esp + 0x30], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446d78]
xor eax, eax
jmp 0x42134f
mov eax, 2
mov ecx, dword [case.0x4213b2.1]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
cmp eax, 4
setl cl
lea esi, [esp + 0x98]
jmp dword [ecx*4 + 0x446d90]
xor edx, edx
cmp eax, 4
sete dl
mov eax, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x446d98]
push eax
push 1
push dword [0x44a97c]
push ecx
call fcn.0043d1f0
add esp, 0x10
xor ecx, ecx
test edi, edi
setne cl
mov eax, 2
mov ebp, esi
lea ebx, [esp + 0x28]
jmp dword [ecx*4 + 0x446d70]
push esi
push ebx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043ff00
add esp, 0x24
push esi
push ebx
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x3c]
call fcn.0043ff00
add esp, 0x24
jmp dword [0x446d44]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x446da8]
mov ecx, edi
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x421410
sub eax, edi
cmp eax, 0xffffffd9
lea esi, [esp + 0x1c]
jge 0x421434
mov eax, 0xffffffff
jmp 0x421437
xor eax, eax
jmp 0x421cf3
add eax, 0x26
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 0xfa62fc5b
mov dword [esp + 0x34], 0xf66bf868
mov dword [esp + 0x38], 0xf26cf46d
mov dword [esp + 0x3c], 0xee55f068
mov dword [esp + 0x40], 0xea7eec70
mov dword [esp + 0x44], 0xe673e879
mov dword [esp + 0x48], 0xe27ee47e
mov dword [esp + 0x4c], 0xde6be0b1
mov dword [esp + 0x50], 0xda47dc43
mov word [esp + 0x54], 0xd8db
mov dword [esp + 0x56], 0
mov word [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x4214ee
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 + 0x30]
add eax, 0xf1b9c2c1
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xc2
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4214c0
movzx ecx, word [edi]
mov eax, dword [esp + 0x24]
test cx, cx
je 0x421521
lea edx, [edi + 2]
mov eax, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x421510
mov word [eax], 0
movzx ecx, word [esp + 0x30]
test cx, cx
je 0x421551
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 0x421540
mov word [eax], 0
jmp dword [0x446db0]
push edi
call fcn.00409a60
add esp, 4
xor eax, eax
mov edi, dword [esp + 0x24]
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x446db8]
mov dword [esp + 0x30], 0x216e2365
mov dword [esp + 0x34], 0x2543274a
mov dword [esp + 0x38], 0x394a3b49
mov dword [esp + 0x3c], 0x3d453f44
mov dword [esp + 0x40], 0x315c3349
mov dword [esp + 0x44], 0x35473751
mov dword [esp + 0x48], 0x49324b38
mov dword [esp + 0x4c], 0x4d374f37
mov dword [esp + 0x50], 0x41ca4370
mov dword [esp + 0x54], 0x453e4722
mov dword [esp + 0x58], 0x5b5a
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x42160e
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0x55899828
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xf6
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x4215e0
push 0
push ebp
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x446dc4]
xor eax, eax
mov edi, dword [esp + 0x24]
cmp word [edi], 0x5b
sete al
jmp dword [eax*4 + 0x446db8]
jmp dword [0x446dc4]
push 0x60
push 3
push 0x120089
push esi
push edi
call fcn.0043f380
add esp, 0x14
nop
nop
nop
nop
nop
push 0x60
push 3
push 0x120089
push esi
push edi
call fcn.0043f380
add esp, 0x14
jmp dword [0x446dc8]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446dd0]
mov dword [esp + 8], 0
mov eax, dword [case.0x421817.15]
mov dword [esp + 0x14], 0
jmp case.0x421817.12
push 0
push ebx
push dword [esp + 0x24]
call fcn.0043f700
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x446dd8]
mov esi, dword [esp + 0x28]
lea eax, [esi + 1]
push eax
call fcn.00409a50
add esp, 4
push 0
push esi
mov dword [esp + 0x94], eax
push eax
push dword [esp + 0x28]
call fcn.0043f7e0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x446de0]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x8c]
mov byte [edi + esi], 0
push 0x20
call fcn.00409a50
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 + 0x20], eax
mov ecx, eax
push esi
push edi
call case.0x4213b2.138
movzx eax, al
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
jmp dword [eax*4 + 0x446de8]
mov dword [esp + 0x30], 0x31ce34d1
mov dword [esp + 0x34], 0xcc3eca31
mov dword [esp + 0x38], 0xc1cdd5fd
mov dword [esp + 0x3c], 0xa683b648
mov dword [esp + 0x40], 0xb8b5b242
mov dword [esp + 0x44], 0xbebf9a89
mov dword [esp + 0x48], 0x494e4a4d
mov word [esp + 0x4c], 0xc355
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x22
ja 0x4217fe
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 + 0x30]
add eax, 0x93a5f534
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0x6e
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x23
jb 0x4217d0
mov ecx, dword [esp + 0x20]
push ebp
call fcn.00423af0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
jmp dword [ecx*4 + 0x446df0]
jmp dword [0x446e10]
mov esi, dword [esp + 0x20]
mov ecx, esi
call fcn.00423c50
push esi
call fcn.00409a60
add esp, 4
jmp dword [0x446e18]
jmp dword [0x446e18]
push dword [esp + 0x8c]
call fcn.00409a60
add esp, 4
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x30], 0x70605
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x4218bd
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]
lea esi, [ecx + edx]
add esi, 0xad100031
add ecx, 0xad100031
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x421880
mov ecx, dword [0x44a974]
test ecx, ecx
je 0x42190a
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x44a978]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x4218f0
inc esi
cmp ecx, esi
jne 0x4218e0
jmp 0x42190a
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
je 0x42190a
push eax
push 1
push dword [0x44a97c]
push ecx
call fcn.0043d1f0
add esp, 0x10
mov eax, dword [case.0x421817.15]
mov edi, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x446e30]
push edi
call fcn.00409a60
add esp, 4
xor eax, eax
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x446e38]
xor eax, eax
test ebx, ebx
jne 0x421cb7
jmp 0x421cf3
xor eax, eax
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
cmp ebx, edi
sete al
jmp dword [eax*4 + 0x446e38]
mov eax, edi
sub eax, ebx
sar eax, 3
imul eax, eax, 0x421
push eax
call fcn.00409a50
add esp, 4
mov edi, eax
mov eax, dword [0x44a970]
mov dword [esp + 0x30], 0xda6dd832
mov dword [esp + 0x34], 0xc666c44c
mov dword [esp + 0x38], 0xc255c066
mov dword [esp + 0x3c], 0xce5dcc02
mov dword [esp + 0x40], 0xca05c85f
mov dword [esp + 0x44], 0xb629b46a
mov dword [esp + 0x48], 0xb25cb016
mov dword [esp + 0x4c], 0xbe0ebc17
mov dword [esp + 0x50], 0xba14b823
mov dword [esp + 0x54], 0xa630a41a
mov dword [esp + 0x58], 0xa235a003
mov dword [esp + 0x5c], 0xae0eac34
mov dword [esp + 0x60], 0xaa3da80e
mov dword [esp + 0x64], 0x960b947d
mov dword [esp + 0x68], 0x923f903b
mov word [esp + 0x6c], 0x9c93
mov dword [esp + 0x6e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x421a67
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
lea esi, [ecx + edx]
add esi, 0xa0ecdeab
add ecx, 0xa0ecdeab
and ecx, edx
mov edx, esi
xor edx, ecx
add edx, ecx
not ecx
and ecx, esi
add ecx, ecx
sub ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xc]
add cl, 0x8c
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x421a20
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push 0x1e
push ebp
push 0
call eax
mov esi, dword [esp + 0x1c]
test esi, esi
jns 0x421a86
mov eax, 0xffffffff
jmp 0x421a89
lea eax, [esi + esi]
mov dword [esp + 0x94], edi
push eax
call fcn.00409a50
add esp, 4
mov dword [esp + 0x90], eax
mov eax, dword [0x44a970]
mov dword [esp + 0x30], 0x97209545
mov dword [esp + 0x34], 0x933d9107
mov dword [esp + 0x38], 0x9f089d31
mov dword [esp + 0x3c], 0x9b08995d
mov dword [esp + 0x40], 0x8748850a
mov dword [esp + 0x44], 0x831c8125
mov dword [esp + 0x48], 0x8f638d21
mov dword [esp + 0x4c], 0x8b35892a
mov dword [esp + 0x50], 0x77db7516
mov dword [esp + 0x54], 0x73e771d5
mov dword [esp + 0x58], 0x7fe87dd6
mov dword [esp + 0x5c], 0x7bd579ef
mov dword [esp + 0x60], 0x67f065d9
mov dword [esp + 0x64], 0x63fe61b0
mov dword [esp + 0x68], 0x6fc26dce
mov word [esp + 0x6c], 0x696e
mov dword [esp + 0x6e], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 0x41
ja 0x421b82
nop
nop
nop
nop
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
lea edi, [ecx - 0x512277a1]
lea ebx, [ecx + edx]
add ebx, 0xaedd885f
add ecx, 0x5f
or ecx, edi
and ecx, edx
add ecx, ecx
sub ebx, ecx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xc]
add cl, 0xb
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 0x42
jb 0x421b40
lea ecx, [esp + 0x1c]
push ecx
push esi
mov esi, dword [esp + 0x98]
push esi
push 0x1e
push ebp
push 0
call eax
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x34]
push eax
push esi
call fcn.0043f380
add esp, 0x14
not eax
shr eax, 0x1f
lea ecx, [esp + 0x98]
mov edi, dword [esp + 0x94]
jmp dword [eax*4 + 0x446e40]
xor ebx, ebx
mov dword [esp + 0x18], edi
jmp dword [0x446f58]
push esi
call fcn.00409a60
add esp, 4
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x446f60]
mov esi, dword [esp + 0x18]
mov byte [esi], 0
mov dword [esp + 0x30], 0x56aba87a
mov dword [esp + 0x34], 0xaa5c5956
mov dword [esp + 0x38], 0xb74db14a
mov dword [esp + 0x3c], 0x41b35174
mov dword [esp + 0x40], 0x5e7a474a
mov dword [esp + 0x44], 0x404841bc
mov dword [esp + 0x48], 0xcac77ec4
mov word [esp + 0x4c], 0x54c1
mov dword [esp + 0x4e], 0
sub esi, edi
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x421c87
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
lea edx, [eax + 0x28]
and edx, ecx
add eax, ecx
add edx, edx
sub eax, edx
add eax, 0x8fefbb28
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 0xef
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x421c50
mov ecx, dword [esp + 0xc0]
push esi
push edi
push ebp
call fcn.0040a3e0
jmp dword [0x446f68]
push edi
mov esi, eax
call fcn.00409a60
mov eax, esi
add esp, 4
and al, 1
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 8]
test ebx, ebx
je 0x421cf3
cmp ebx, edi
je 0x421cf3
mov ebp, eax
mov esi, ebx
jmp 0x421cd7
add esi, 8
cmp esi, edi
je 0x421ce8
mov eax, dword [esi]
test eax, eax
je 0x421cd0
push eax
call fcn.00409a60
add esp, 4
jmp 0x421cd0
push ebx
call fcn.00409a60
add esp, 4
mov eax, ebp
add esp, 0xac
pop esi
pop edi
pop ebx
pop ebp
ret
push 0
push ecx
push dword [esp + 0x30]
call fcn.0043f700
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edi
jmp dword [eax*4 + 0x446e48]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.00409a50
add esp, 4
push 0
push esi
mov esi, eax
push eax
push dword [esp + 0x34]
call fcn.0043f7e0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edi
jmp dword [eax*4 + 0x446e50]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0x98]
mov eax, dword [esp + 0x88]
mov byte [eax + esi], 0
push 0x20
call fcn.00409a50
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 + 0xa0], eax
mov ecx, eax
push esi
mov esi, dword [esp + 0x8c]
push esi
call case.0x4213b2.138
movzx eax, al
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edi
jmp dword [eax*4 + 0x446e58]
mov dword [esp + 0x30], 0xa1b1338
mov dword [esp + 0x34], 0x1f132108
mov dword [esp + 0x38], 0xeadcd254
mov dword [esp + 0x3c], 0xc9aee5f1
mov dword [esp + 0x40], 0xe3d4e9f7
mov dword [esp + 0x44], 0xe4e6b3a0
mov dword [esp + 0x48], 0xe2cef1e5
mov dword [esp + 0x4c], 0xf2cac9ac
mov word [esp + 0x50], 0x64f6
mov dword [esp + 0x52], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x25
ja 0x421e6e
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 0x30]
add eax, 0xe76ea377
xor eax, ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
add al, 4
mov ecx, dword [esp]
mov byte [esp + ecx + 0x30], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x26
jb 0x421e40
mov ecx, dword [esp + 0xa0]
lea eax, [esp + 0x30]
push eax
call fcn.00423af0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x20], 0
mov dword [esp + 0x18], edi
jmp dword [ecx*4 + 0x446e60]
lea ebp, [esp + 0x30]
jmp dword [0x446f38]
mov edi, dword [esp + 0xa0]
mov ecx, edi
call fcn.00423c50
push edi
call fcn.00409a60
add esp, 4
jmp dword [0x446f40]
jmp dword [0x446f40]
jmp dword [0x446f4c]
push esi
call fcn.00409a60
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409a60
add esp, 4
jmp dword [0x446f54]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x30], 0x70605
mov byte [esp + 0x34], 0
mov dword [esp], 0
mov ecx, dword [esp]
cmp ecx, 4
ja 0x421f4d
nop
mov ecx, dword [esp]
mov edx, dword [esp]
movzx edx, byte [esp + edx + 0x30]
lea esi, [ecx + edx]
add esi, 0xad100031
add ecx, 0xad100031
and ecx, edx
add ecx, ecx
sub esi, ecx
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0xc]
add cl, 0xcb
mov edx, dword [esp]
mov byte [esp + edx + 0x30], cl
inc dword [esp]
mov ecx, dword [esp]
cmp ecx, 5
jb 0x421f10
mov ecx, dword [0x44a974]
test ecx, ecx
je 0x421f88
mov edx, dword [esp + 0x30]
xor esi, esi
mov edi, dword [0x44a978]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + esi*8], 0x625b6034
je 0x421f80
inc esi
cmp ecx, esi
jne 0x421f70
jmp 0x421f88
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x421fb6
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x94]
jmp dword [0x446f58]
mov eax, ebx
and al, 1
movzx ecx, al
mov eax, ebx
jmp dword [ecx*4 + 0x446f60]
jmp dword [0x446f68]
push eax
push 1
push dword [0x44a97c]
push ecx
call fcn.0043d1f0
add esp, 0x10
mov esi, dword [esp + 0x90]
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x94]
jmp dword [0x446f58]
add eax, 8
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 8], 0
jmp 0x42201d
not eax
mov ecx, dword [esp + 0x9c]
mov dword [ecx + edx + 4], eax
add dword [esp + 0x14], 8
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 8], ecx
mov eax, dword [eax]
mov ecx, dword [case.0x421817.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446e08]
mov dword [esp + 0x2c], eax
mov esi, dword [eax]
mov eax, dword [esp + 0x14]
mov edi, eax
mov ebx, dword [esp + 8]
sub edi, ebx
mov ebp, dword [esp + 0x18]
cmp eax, ebp
mov dword [esp + 0x84], edi
je 0x422068
mov edx, ebx
jmp 0x4220f5
mov eax, edi
sar eax, 3
inc eax
mov ecx, ebp
sub ecx, ebx
sar ecx, 3
mov edi, ecx
shr edi, 1
add edi, ecx
cmp edi, eax
ja 0x422081
mov edi, eax
mov eax, edi
and eax, 0xfffffff7
mov ecx, edi
and ecx, 8
mov edx, edi
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.00409a50
add esp, 4
mov edx, eax
test ebx, ebx
je 0x4220df
cmp ebx, ebp
je 0x4220d2
xor eax, eax
mov ecx, dword [ebx + eax]
mov dword [edx + eax], ecx
mov ecx, dword [ebx + eax + 4]
mov dword [edx + eax + 4], ecx
mov dword [ebx + eax], 0
lea ecx, [ebx + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x4220b0
push ebx
mov ebx, edx
call fcn.00409a60
mov edx, ebx
add esp, 4
lea eax, [edx + edi*8]
mov dword [esp + 0x18], eax
mov eax, edx
mov edi, dword [esp + 0x84]
add eax, edi
mov dword [esp + 0x14], eax
mov dword [edx + edi], 0
mov dword [esp + 0x9c], edx
mov dword [edx + edi + 4], 0
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
cmp byte [esi + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x422120
lea eax, [ebx + 1]
mov dword [esp + 8], eax
push eax
call fcn.00409a50
add esp, 4
mov ecx, dword [esp + 0x9c]
mov dword [ecx + edi], eax
mov ecx, dword [esp + 8]
shr ecx, 2
mov edx, esi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esp + 8]
mov edx, ecx
and edx, 0xfffffffc
add eax, edx
add edx, esi
shr ecx, 1
and ecx, 1
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], eax
mov edi, eax
mov eax, dword [esp + 0x94]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
test bl, 1
jne 0x4221a6
mov edi, dword [esp + 8]
and edi, 2
movzx ecx, byte [edx + edi]
mov eax, dword [esp + 0x90]
mov byte [eax + edi], cl
test ebx, ebx
je 0x422220
mov eax, 0xffffffff
cmp ebx, 1
jne 0x4221b9
mov edx, dword [esp + 0x84]
jmp 0x4221fb
and ebp, 0xfffffffe
mov edx, dword [esp + 0x84]
nop
nop
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 + 0x4425c0]
mov eax, ecx
shr eax, 8
xor cl, byte [esi + 1]
add esi, 2
movzx ecx, cl
xor eax, dword [ecx*4 + 0x4425c0]
add ebp, 0xfffffffe
jne 0x4221d0
test bl, 1
lea ebp, [esp + 0x30]
je 0x422000
mov ecx, eax
shr ecx, 8
xor al, byte [esi]
movzx eax, al
xor ecx, dword [eax*4 + 0x4425c0]
mov eax, ecx
jmp 0x422000
xor eax, eax
lea ebp, [esp + 0x30]
mov edx, dword [esp + 0x84]
jmp 0x422002
add eax, 8
mov dword [esp + 0x20], 0
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x18], edi
jmp dword [eax*4 + 0x446e78]
mov ecx, dword [esp + 0x8c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446e78]
mov edx, dword [ecx]
cmp dword [ecx + 0x18], 3
mov ebp, 0
jne case.default.0x422291
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x8c], ecx
test edx, edx
setne al
test ebp, ebp
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x446e80]
mov eax, ebp
nop
nop
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne 0x4222a0
mov dword [esp + 0x24], edx
sub ecx, ebp
inc ecx
shr ecx, 1
mov dword [esp + 0xa8], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409a50
add esp, 4
mov ecx, eax
mov eax, dword [case.0x421e92.12]
mov dword [esp + 0xa4], ecx
jmp case.0x422291.2
mov ebp, edi
mov byte [ecx], dl
inc ecx
nop
nop
nop
nop
nop
nop
nop
jmp eax
movsx esi, byte [ebp]
xor edx, edx
test esi, esi
setne dl
jmp dword [edx*4 + 0x446e98]
mov edx, esi
or edx, 0x20
lea edi, [edx - 0x61]
add edx, 0xffffffa9
add esi, 0xffffffd0
cmp esi, 0xa
jb 0x42230c
mov esi, 0xffffffff
cmp edi, 6
jb case.default.0x422321
mov edx, esi
lea edi, [ebp + 1]
movsx esi, byte [ebp + 1]
xor ebx, ebx
test esi, esi
setne bl
jmp dword [ebx*4 + 0x446eb0]
shl edx, 4
add ebp, 2
mov edi, esi
or edi, 0x20
lea ebx, [edi - 0x61]
add edi, 0xffffffa9
add esi, 0xffffffd0
cmp esi, 0xa
jb 0x422346
mov esi, 0xffffffff
cmp ebx, 6
jb 0x42234d
mov edi, esi
or edx, edi
jmp 0x4222d6
mov byte [ecx], 0
push 0
push 0x10
push 0
push dword [esp + 0x30]
call fcn.00423cf0
add esp, 0x10
mov dword [esp + 0x9c], eax
mov dword [esp + 0x84], edx
mov ecx, dword [case.0x421e92.27]
mov esi, dword [case.0x421e92.33]
mov ebp, dword [case.0x421e92.36]
mov dword [esp + 0x2c], 0
xor eax, eax
mov edx, dword [esp + 8]
cmp edx, dword [esp + 0x14]
setne al
mov edi, dword [case.0x421bc1.51]
jmp dword [eax*4 + 0x446eb8]
jmp ecx
mov dword [esp + 0x24], edx
mov eax, dword [edx + 4]
mov ebx, eax
shr ebx, 0x1c
shl eax, 4
or eax, 1
xor ebx, dword [esp + 0x84]
xor eax, dword [esp + 0x9c]
xor edx, edx
or eax, ebx
sete dl
jmp dword [edx*4 + 0x446ed0]
jmp esi
mov eax, 1
mov edx, dword [esp + 0x24]
jmp case.0x421e92.34
mov edx, dword [esp + 0x24]
mov eax, dword [edx]
mov dword [esp + 0x2c], eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
jmp ebp
jmp dword [eax*4 + 0x446ef8]
jmp edi
add edx, 8
xor eax, eax
cmp edx, dword [esp + 0x14]
setne al
jmp dword [eax*4 + 0x446eb8]
xor eax, eax
mov ecx, dword [esp + 0x2c]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446f10]
mov esi, dword [esp + 0x88]
jmp dword [0x446f30]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x34], eax
mov eax, 0xffffffff
mov esi, dword [esp + 0x88]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ecx + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x4224c2
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp], 0
mov dword [esp + 4], 0
push 0x6c625980
push dword [0x44a980]
call fcn.0043e870
add esp, 8
mov ecx, esp
lea edx, [esp + 0xc]
push ecx
push 1
push 0
push 0
push edx
push 0
lea ecx, [esp + 0x48]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446f18]
jmp dword [0x446f30]
mov ebp, dword [esp + 0x18]
jmp dword [0x446f20]
push dword [esp + 0xa4]
call fcn.00409a60
add esp, 4
mov ecx, dword [esp + 0x8c]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
jmp dword [eax*4 + 0x446e78]
inc esi
mov al, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x88]
jmp dword [0x446f30]
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax]
mov eax, ebp
test cl, cl
je 0x42253b
mov eax, dword [esp + 0x2c]
lea edx, [eax + 1]
mov eax, ebp
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422530
mov word [eax], 0x203a
add eax, 2
mov esi, dword [esp]
test esi, esi
je 0x42257b
mov ecx, dword [esp + 4]
mov edx, esi
and edx, 3
je 0x42257f
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x422560
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x422581
mov edi, eax
jmp 0x4225c9
mov edx, esi
cmp esi, 4
jb 0x4225c9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea edi, [eax + 4]
mov byte [eax + 3], bl
mov eax, edi
add edx, 0xfffffffc
jne 0x422590
mov byte [edi], 0xa
push 0xe050b307
push dword [0x44a968]
call fcn.0043e870
add esp, 8
push dword [esp + 4]
call eax
mov eax, dword [esp + 0x2c]
movzx ecx, byte [eax]
mov eax, ebp
test cl, cl
je 0x42260b
mov eax, dword [esp + 0x2c]
lea edx, [eax + 1]
mov eax, ebp
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x422600
mov word [eax], 0x203a
add eax, 2
mov edi, dword [esp]
test edi, edi
je 0x42264b
mov ecx, dword [esp + 4]
mov edx, edi
and edx, 3
je 0x42264f
xor esi, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edx, esi
jne 0x422630
add eax, esi
mov edx, edi
sub edx, esi
mov esi, eax
jmp 0x422651
mov esi, eax
jmp 0x422699
mov edx, edi
cmp edi, 4
jb 0x422699
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x422660
mov byte [esi], 0xa
push 0xe050b307
push dword [0x44a968]
call fcn.0043e870
add esp, 8
push dword [esp + 4]
call eax
jmp dword [0x446f28]
int3
push eax
mov dword [ebp - 0x1c], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x24], esp
sub esp, 0x14
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x30], esp
sub esp, 0x20
mov esi, esp
sub esp, 0x18
mov dword [ebp - 0x34], esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
mov ecx, dword [0x44a970]
mov dword [ebp - 0x2c], ecx
mov dword [eax], 0x69a95773
mov dword [eax + 4], 0x6d9c6b9a
mov dword [eax + 8], 0x61816faa
mov dword [eax + 0xc], 0x65856396
mov dword [eax + 0x10], 0x79786743
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x42276c
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
add edx, 0x4399189e
xor edx, ecx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
add cl, 0x38
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x422740
push dword [ebp - 0x1c]
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x2c], eax
jns 0x42278e
mov eax, 0xffffffff
jmp 0x422790
add eax, eax
push eax
call fcn.00409a50
add esp, 4
mov ecx, dword [0x44a970]
mov dword [ebp - 0x48], ecx
mov dword [edi], 0x9ad898c6
mov dword [edi + 4], 0x96079405
mov dword [edi + 8], 0x92f090ed
mov dword [edi + 0xc], 0x8eec8c01
mov dword [edi + 0x10], 0x8a8b88d6
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x15
ja 0x42280c
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edi + ecx]
add edx, 0xef070e04
xor edx, ecx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
add cl, 0x63
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x4227e0
push dword [ebp - 0x1c]
push dword [ebp - 0x2c]
push eax
push 9
push edi
push 0
call dword [ebp - 0x48]
mov dword [ebx], 0x68fe6a17
mov dword [ebx + 4], 0x64f866ea
mov dword [ebx + 8], 0x60ef62f2
mov dword [ebx + 0xc], 0x9c9d9e03
mov eax, ebx
add eax, 0x10
mov byte [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x10
ja 0x42287c
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebx + edx]
add ecx, 0xf9cacff4
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x61
mov edx, dword [ebp - 0x10]
mov byte [ebx + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x11
jb 0x422850
mov edx, dword [ebp - 0x24]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esi], 0xbad0b8fd
mov dword [esi + 4], 0xbedabc28
mov dword [esi + 8], 0xa231a030
mov dword [esi + 0xc], 0xa6e2a4c1
mov dword [esi + 0x10], 0xaac5a8ca
mov dword [esi + 0x14], 0xae3dacce
mov dword [esi + 0x18], 0xd2d3d04a
mov eax, esi
add eax, 0x1c
mov byte [esi + 0x1c], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
ja 0x42290c
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x8ac2caa8
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xef
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1d
jb 0x4228e0
mov ecx, 7
mov edx, dword [ebp - 0x30]
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x1c
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov esi, dword [ebp - 0x20]
mov dword [esi], 0x4f374d10
mov dword [esi + 4], 0x4b29493b
mov dword [esi + 8], 0x47344533
mov dword [esi + 0xc], 0x4312413c
mov dword [esi + 0x10], 0x5f1c5d30
mov eax, esi
add eax, 0x14
mov word [esi + 0x14], 0x5958
mov dword [esi + 0x16], 0
mov byte [esi + 0x1a], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1a
ja 0x4229ac
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x669c0e40
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0xf4
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
jb 0x422980
mov ecx, 5
mov edx, dword [ebp - 0x34]
mov edi, edx
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add edx, 0x14
mov edi, edx
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
jmp case.0x4213b2.132
mov eax, ebx
add eax, 0x14
mov esi, dword [ebp - 0x30]
mov edi, esi
mov ecx, 5
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, esi
add edi, 0x14
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov dword [ebx], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 4], eax
mov dword [ebx + 8], esi
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
jmp dword [0x446f8c]
push eax
mov dword [ebp - 0x34], esp
sub esp, 0x18
mov eax, esp
sub esp, 0x18
mov edi, esp
sub esp, 0x10
mov dword [ebp - 0x1c], esp
sub esp, 0x14
mov ebx, esp
sub esp, 0x1c
mov dword [ebp - 0x20], esp
sub esp, 0x20
mov esi, esp
sub esp, 0x18
mov dword [ebp - 0x30], esp
sub esp, 0x1c
mov dword [ebp - 0x28], esp
sub esp, 0xc
mov dword [ebp - 0x2c], esp
sub esp, 0x1c
mov dword [ebp - 0x48], esp
push eax
mov dword [ebp - 0x60], esp
push eax
mov dword [ebp - 0x54], esp
sub esp, 0x1c
mov dword [ebp - 0x74], esp
sub esp, 8
mov dword [ebp - 0xb4], esp
sub esp, 8
mov dword [ebp - 0xb0], esp
sub esp, 0x14
mov dword [ebp - 0x5c], esp
sub esp, 0x34
mov dword [ebp - 0x78], esp
sub esp, 0x18
mov dword [ebp - 0x6c], esp
sub esp, 8
mov dword [ebp - 0x50], esp
mov ecx, dword [0x44a970]
mov dword [ebp - 0x24], ecx
mov dword [eax], 0x69a95773
mov dword [eax + 4], 0x6d9c6b9a
mov dword [eax + 8], 0x61816faa
mov dword [eax + 0xc], 0x65856396
mov dword [eax + 0x10], 0x79786743
mov byte [eax + 0x14], 0
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
cmp edx, 0x14
ja 0x422afc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [eax + ecx]
add edx, 0x4399189e
xor edx, ecx
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x18]
add cl, 0x38
mov edx, dword [ebp - 0x10]
mov byte [eax + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
jb 0x422ad0
push dword [ebp - 0x34]
push 0
push 0
push 9
push eax
push 0
call dword [ebp - 0x24]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
test eax, eax
mov dword [ebp - 0x44], eax
jns 0x422b20
mov eax, 0xffffffff
jmp 0x422b22
add eax, eax
push eax
call fcn.00409a50
add esp, 4
mov dword [ebp - 0x24], eax
mov eax, dword [0x44a970]
mov dword [edi], 0x9ad898c6
mov dword [edi + 4], 0x96079405
mov dword [edi + 8], 0x92f090ed
mov dword [edi + 0xc], 0x8eec8c01
mov dword [edi + 0x10], 0x8a8b88d6
mov word [edi + 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x15
ja 0x422b9c
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [edi + edx]
add ecx, 0xef070e04
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x63
mov edx, dword [ebp - 0x10]
mov byte [edi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x16
jb 0x422b70
push dword [ebp - 0x34]
push dword [ebp - 0x44]
push dword [ebp - 0x24]
push 9
push edi
push 0
call eax
mov dword [ebx], 0x68fe6a17
mov dword [ebx + 4], 0x64f866ea
mov dword [ebx + 8], 0x60ef62f2
mov dword [ebx + 0xc], 0x9c9d9e03
mov byte [ebx + 0x10], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x10
ja 0x422c0a
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add eax, 0xf9cacff4
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x61
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x11
jb 0x422be0
mov eax, ebx
add eax, 0x10
mov edx, dword [ebp - 0x1c]
mov edi, edx
mov ecx, 4
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
add edx, 0x10
mov edi, edx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esi], 0xbad0b8fd
mov dword [esi + 4], 0xbedabc28
mov dword [esi + 8], 0xa231a030
mov dword [esi + 0xc], 0xa6e2a4c1
mov dword [esi + 0x10], 0xaac5a8ca
mov dword [esi + 0x14], 0xae3dacce
mov dword [esi + 0x18], 0xd2d3d04a
mov byte [esi + 0x1c], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1c
mov edx, dword [ebp - 0x5c]
ja 0x422caa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [esi + ecx]
add eax, 0x8ac2caa8
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0xef
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1d
jb 0x422c80
mov eax, esi
add eax, 0x1c
mov ebx, dword [ebp - 0x20]
mov edi, ebx
mov ecx, 7
xchg esi, esi
rep movsd dword es:[edi], dword [esi]
xchg esi, esi
add ebx, 0x1c
mov edi, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ebx, dword [ebp - 0x28]
mov dword [ebx], 0x4f374d10
mov dword [ebx + 4], 0x4b29493b
mov dword [ebx + 8], 0x47344533
mov dword [ebx + 0xc], 0x4312413c
mov dword [ebx + 0x10], 0x5f1c5d30
mov word [ebx + 0x14], 0x5958
mov dword [ebx + 0x16], 0
mov byte [ebx + 0x1a], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x1a
ja 0x4229d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebx + ecx]
add eax, 0x669c0e40
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0xf4
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x1b
jb 0x422d20
jmp 0x4229d0
mov esi, dword [ebp - 0x48]
add esi, 2
mov dword [ebp - 0xac], esi
mov esi, dword [ebp - 0x50]
add esi, 4
mov dword [ebp - 0x98], esi
mov esi, dword [ebp - 0x6c]
mov edi, esi
add edi, 0x12
mov dword [ebp - 0x94], edi
mov edi, ecx
add edi, 0x2e
mov dword [ebp - 0x90], edi
mov edi, edx
add edi, 0x10
mov dword [ebp - 0x7c], edi
add eax, 0x17
mov dword [ebp - 0x80], eax
xor edi, edi
xor eax, eax
mov dword [ebp - 0x4c], 0
cmp edi, 0xc
setne al
add esi, 2
mov dword [ebp - 0xa8], esi
add ecx, 2
mov dword [ebp - 0xa4], ecx
mov esi, dword [ebp - 0x24]
lea edi, [esi + 2]
lea ecx, [edx + 2]
mov edx, edi
mov dword [ebp - 0xa0], ecx
xor ecx, ecx
jmp dword [eax*4 + 0x446fa0]
jmp dword [0x446fa8]
push esi
call fcn.00409a60
add esp, 4
mov eax, dword [ebp - 0x4c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp - 0x70]
add ecx, 4
mov esi, dword [ebp - 0x24]
lea edx, [esi + 2]
xor eax, eax
cmp ecx, 0xc
setne al
mov ebx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x446fa0]
mov dword [ebp - 0x30], edx
mov eax, dword [ebx + ecx]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [eax + edi + 2], 0
lea edi, [edi + 2]
jne 0x422e20
mov dword [ebp - 0x70], ecx
mov edx, edi
sar edx, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
lea ecx, [edx + eax]
mov dword [ebp - 0x68], edx
add eax, edx
add eax, 0xd
lea ecx, [ecx*2 + 0x1a]
mov dword [ebp - 0x20], ecx
test eax, eax
jns 0x422e5a
mov dword [ebp - 0x20], 0xffffffff
mov ebx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xbc], eax
jmp dword [0x446fc4]
lea eax, [edi + 0x10]
cmp dword [ebp - 0x68], 0xfffffff8
jge 0x422e98
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov ebx, eax
mov edx, dword [ebp - 0x5c]
mov dword [edx], 0x8e2d88d8
mov dword [edx + 4], 0x82df8c1f
mov dword [edx + 8], 0x86098017
mov dword [edx + 0xc], 0xfa858413
mov eax, dword [ebp - 0x7c]
mov word [eax], 0
mov byte [eax + 2], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x12
ja 0x422f0a
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xd070d7b1
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0xc6
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x13
jb 0x422ee0
mov eax, dword [ebp - 0x28]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x422f31
mov eax, dword [ebp - 0x28]
lea edx, [eax + 2]
mov eax, ebx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x422f20
mov word [eax], 0
mov ecx, dword [ebp - 0x5c]
movzx ecx, word [ecx]
test cx, cx
je 0x422f61
mov edx, dword [ebp - 0x9c]
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 0x422f50
mov word [eax], 0
mov ecx, dword [ebp + 8]
push dword [esi]
push dword [esi + 4]
push ebx
call fcn.0040a230
mov ecx, ebx
mov ebx, eax
jmp dword [0x447008]
push ecx
call fcn.00409a60
add esp, 4
jmp dword [0x447014]
jmp dword [0x447014]
push 0xe050b307
push dword [0x44a968]
call fcn.0043e870
add esp, 8
push dword [esi + 4]
call eax
nop
nop
nop
nop
nop
push 0xe050b307
push dword [0x44a968]
call fcn.0043e870
add esp, 8
push dword [esi + 4]
call eax
jmp dword [0x44701c]
mov eax, dword [ebp - 0x60]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x70605
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, 4
ja 0x423039
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
movzx ecx, byte [ebp + ecx - 0x18]
lea edx, [eax + ecx]
add edx, 0xad100031
add eax, 0xad100031
and eax, ecx
add eax, eax
sub edx, eax
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
add al, 0xcb
mov ecx, dword [ebp - 0x3c]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x3c]
mov eax, dword [ebp - 0x3c]
cmp eax, 5
jb 0x423000
mov ecx, dword [0x44a974]
test ecx, ecx
je 0x423070
mov edx, dword [ebp - 0x18]
xor esi, esi
mov eax, dword [0x44a978]
nop
nop
nop
cmp dword [eax + esi*8], 0x625b6034
je 0x423060
inc esi
cmp ecx, esi
jne 0x423050
jmp 0x423070
mov eax, dword [eax + esi*8 + 4]
cmp eax, edx
jne 0x423079
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [ebp - 0x1c]
jmp dword [0x447050]
push dword [ebp - 0x20]
push 1
push dword [0x44a97c]
push eax
call fcn.0043d1f0
add esp, 0x10
mov esi, dword [ebp - 0x1c]
jmp dword [0x447050]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov ebx, dword [ebp - 0x68]
lea ecx, [ebx + eax]
lea edx, [ebx + eax]
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x4230c1
mov eax, 0xffffffff
push eax
call fcn.00409a50
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0x24]
movzx ecx, word [eax]
mov dword [ebp - 0x1c], edx
mov eax, edx
test cx, cx
mov edx, dword [ebp - 0x30]
je 0x423101
mov eax, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4230f0
mov word [eax], 0x5c
mov dword [esi], 0xc817ca59
mov dword [esi + 4], 0xcc68ce7a
mov dword [esi + 8], 0xc07fc26c
mov dword [esi + 0xc], 0xc410c621
mov dword [esi + 0x10], 0xd868da71
mov dword [esi + 0x14], 0xdc7ede6f
mov dword [esi + 0x18], 0xd076d266
mov dword [esi + 0x1c], 0xd46bd67d
mov dword [esi + 0x20], 0xa821aa70
mov dword [esi + 0x24], 0xac13ae0c
mov dword [esi + 0x28], 0xa005a209
mov word [esi + 0x2c], 0xa6a1
mov ecx, dword [ebp - 0x90]
mov byte [ecx + 4], 0
mov dword [ecx], 0
add eax, 2
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x32
ja 0x4231ac
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x5160601f
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x16
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x33
jb 0x423180
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
test cx, cx
je 0x4231d1
add edx, 2
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4231c0
mov word [eax], 0
movzx ecx, word [esi]
test cx, cx
je 0x423201
mov edx, dword [ebp - 0xb8]
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 0x4231f0
mov word [eax], 0
add edi, 0x12
cmp ebx, 0xfffffff7
jge 0x423213
mov edi, 0xffffffff
push edi
call fcn.00409a50
add esp, 4
mov ebx, eax
mov edx, dword [ebp - 0x6c]
mov dword [edx], 0xd57eebb9
mov dword [edx + 4], 0xd148d77b
mov dword [edx + 8], 0xdd46d37f
mov dword [edx + 0xc], 0xd97cdf70
mov word [edx + 0x10], 0xdbd8
mov eax, dword [ebp - 0x94]
mov dword [eax], 0
mov word [eax + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x17
ja 0x4232a7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0xa962245d
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov ecx, eax
not ecx
and ecx, 0xb5
and eax, 0x4a
sub eax, ecx
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x18
jb 0x423270
mov esi, dword [ebp - 0x28]
movzx ecx, word [esi]
mov eax, ebx
test cx, cx
je 0x4232d1
add esi, 2
mov eax, ebx
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x4232c0
mov word [eax], 0
movzx ecx, word [edx]
test cx, cx
je 0x423303
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0xbc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x4232f0
jmp 0x423306
mov edx, dword [ebp - 0x50]
mov word [eax], 0
mov dword [edx], 0xf0f1f2c5
mov eax, dword [ebp - 0x98]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 6
ja 0x42335a
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [edx + ecx]
add eax, 0x38e61274
xor eax, ecx
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add al, 0x79
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 7
jb 0x423330
push 0
push 0
push 0
push 0xc00000
push edx
push dword [ebp - 0x1c]
push ebx
push dword [ebp + 8]
call fcn.0041a580
add esp, 0x20
mov ecx, dword [ebp - 0x4c]
and cl, 1
or cl, al
mov dword [ebp - 0x4c], ecx
mov eax, dword [case.0x4213b2.194]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x447080]
jmp dword [0x447088]
push ebx
call fcn.00409a60
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebx
call fcn.00409a60
add esp, 4
jmp dword [0x447094]
jmp dword [0x4470a8]
push dword [ebp - 0x1c]
call fcn.00409a60
add esp, 4
mov ecx, dword [ebp - 0x70]
add ecx, 4
mov esi, dword [ebp - 0x24]
lea edx, [esi + 2]
xor eax, eax
cmp ecx, 0xc
setne al
mov ebx, dword [ebp - 0x2c]
jmp dword [eax*4 + 0x446fa0]
jmp dword [0x447020]
push dword [ebp - 0x40]
call fcn.00409a60
add esp, 4
push dword [ebp - 0x8c]
call fcn.00403a10
add esp, 4
jmp 0x423411
xor ebx, ebx
mov eax, dword [case.0x4213b2.156]
mov esi, dword [ebp - 0x64]
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx eax, bl
mov esi, dword [ebp - 0x78]
jmp dword [eax*4 + 0x447068]
mov dword [ebp - 0x8c], eax
push eax
call fcn.00403460
add esp, 4
mov esi, dword [ebp - 0x74]
mov dword [esi], 0x607d0e73
mov dword [esi + 4], 0x176a1412
mov dword [esi + 8], 0x686464aa
mov dword [esi + 0xc], 0x1f621c1a
mov dword [esi + 0x10], 0x584d6d6d
mov word [esi + 0x14], 0x2451
mov byte [esi + 0x16], 0xaa
mov ecx, dword [ebp - 0x80]
mov dword [ecx], 0
mov byte [ecx + 4], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
ja 0x4234cc
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0x75bab44e
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x32
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
jb 0x4234a0
push esi
push eax
call fcn.00403820
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x4234e0
shr ecx, 2
mov esi, edx
mov dword [ebp - 0x38], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
je 0x423504
cmp edx, 0x2e
jne 0x423505
dec ecx
mov dword [ebp - 0x84], edi
mov edx, dword [ebp - 0x38]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [ebp - 0x58], eax
je 0x423520
cmp edx, 0x2e
jne 0x423521
dec ecx
mov dword [ebp - 0x88], ecx
lea eax, [ecx + 1]
push eax
call fcn.00409a50
add esp, 4
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x38], 0
je 0x423625
xor ecx, ecx
mov esi, 2
jmp 0x423563
lea eax, [esi + 4]
add esi, 2
mov ecx, dword [ebp - 0x44]
cmp esi, edx
mov esi, eax
jae 0x423625
mov dword [ebp - 0x20], ecx
mov edi, dword [ebp - 0x58]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00416820
add esp, 4
mov bh, al
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00416820
mov edx, dword [ebp - 0x38]
add esp, 4
mov bl, al
shl bh, 2
shr al, 4
and al, 3
or al, bh
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x20]
mov byte [ecx + edi], al
lea eax, [edi + 1]
mov dword [ebp - 0x44], eax
cmp esi, edx
jae 0x423550
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax + esi]
push eax
call fcn.00416820
mov edx, dword [ebp - 0x38]
add esp, 4
cmp al, 0x40
je 0x423550
mov edi, dword [ebp - 0x20]
lea ecx, [edi + 2]
mov dword [ebp - 0x44], ecx
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov edx, dword [ebp - 0x40]
mov byte [edx + edi + 1], cl
mov edx, dword [ebp - 0x38]
lea ecx, [esi + 1]
cmp ecx, edx
jae 0x423550
mov ecx, dword [ebp - 0x58]
movzx ecx, byte [ecx + esi + 1]
push ecx
mov ebx, eax
call fcn.00416820
mov edx, dword [ebp - 0x38]
add esp, 4
cmp al, 0x40
je 0x423550
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [ebp - 0x40]
mov edi, dword [ebp - 0x20]
mov byte [ecx + edi + 2], al
add edi, 3
mov dword [ebp - 0x44], edi
jmp 0x423550
mov eax, dword [ebp - 0x88]
add eax, 0xfffffffb
mov esi, dword [ebp - 0xb4]
mov dword [esi], eax
mov eax, dword [ebp - 0x40]
add eax, 5
mov dword [esi + 4], eax
mov ebx, dword [ebp - 0xb0]
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x6c625980
push dword [0x44a980]
call fcn.0043e870
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push esi
mov esi, ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov edi, dword [ebp - 0x84]
jmp dword [ecx*4 + 0x447000]
push esi
call fcn.00409a60
add esp, 4
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.00409a60
add esp, 4
jmp dword [0x447060]
mov dword [ebp - 0x64], ebx
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x446ff8]
add eax, 2
mov esi, dword [ebp - 0x48]
mov dword [esi], 0x94619a7f
mov dword [esi + 4], 0x900c9606
mov dword [esi + 8], 0x8c199270
mov dword [esi + 0xc], 0x88648eaf
mov dword [esi + 0x10], 0x84668a07
mov dword [esi + 0x14], 0x801e860b
mov dword [esi + 0x18], 0x8283
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1b
ja 0x42373c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [esi + edx]
add ecx, 0xefd85946
xor ecx, edx
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add cl, 0x23
mov edx, dword [ebp - 0x10]
mov byte [esi + edx], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 0x1c
jb 0x423710
mov edx, dword [ebp - 0x28]
movzx ecx, word [edx]
test cx, cx
je 0x423761
add edx, 2
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x423750
mov word [eax], 0
mov ecx, dword [ebp - 0x48]
movzx ecx, word [ecx]
test cx, cx
je 0x423791
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x423780
mov word [eax], 0
push 0x60
push 3
push 0x120089
mov esi, dword [ebp - 0x60]
push esi
push dword [ebp - 0x1c]
call fcn.0043f380
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x446fd0]
xor ebx, ebx
mov esi, dword [ebp - 0x1c]
jmp dword [0x447050]
jmp dword [0x447058]
push 0
push dword [ebp - 0x54]
push dword [esi]
call fcn.0043f700
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446fd8]
mov eax, dword [ebp - 0x54]
mov esi, dword [eax]
mov eax, esi
and eax, 1
mov ecx, esi
xor ecx, 1
lea eax, [ecx + eax*2]
push eax
call fcn.00409a50
add esp, 4
push 0
push esi
mov esi, eax
push eax
mov eax, dword [ebp - 0x60]
push dword [eax]
call fcn.0043f7e0
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x446fe0]
jmp dword [0x447038]
jmp dword [0x447040]
push esi
call fcn.00409a60
add esp, 4
nop
nop
push esi
call fcn.00409a60
add esp, 4
jmp dword [0x447048]
mov ebx, esi
mov esi, dword [ebp - 0x54]
jmp dword [0x446fe8]
push dword [ebp - 0x20]
call fcn.00409a50
add esp, 4
movzx ecx, word [esi]
test cx, cx
je 0x423891
mov edx, dword [ebp - 0x30]
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 0x423880
mov word [eax], 0x5c
push dword [ebp - 0x20]
call fcn.00409a50
add esp, 4
movzx ecx, word [esi]
mov dword [ebp - 0x1c], eax
test cx, cx
je 0x4238d1
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x1c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4238c0
mov word [eax], 0x5c
jmp dword [0x446fcc]
mov eax, dword [esi]
mov byte [ebx + eax], 0
push ebx
call fcn.004029e0
add esp, 4
mov eax, dword [esi]
mov byte [ebx + eax], 0
push ebx
call fcn.004029e0
add esp, 4
jmp dword [0x446ff4]
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, dword [esp + 0x28]
mov byte [esp + 2], 0
mov byte [esp + 3], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov byte [esp + 0x10], 0
cmp byte [eax], 0
je 0x423ade
mov esi, ecx
mov dword [esp + 4], 0
lea edi, [esp + 3]
lea ebx, [esp + 2]
jmp 0x423963
mov dword [esp + 4], ebp
xor esi, esi
mov eax, dword [esp + 0x28]
cmp byte [eax], 0
je 0x423ade
lea ecx, [esp + 8]
push edi
push ebx
call fcn.00423f80
test eax, eax
je 0x423ade
mov ebp, eax
cmp byte [esp + 2], 0
jne 0x423989
cmp byte [ebp], 0
je 0x423ade
test esi, esi
je 0x4239f0
xor ebx, ebx
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x423990
push ebx
call fcn.00409a50
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x4239e3
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov ebp, esi
lea edi, [esp + 3]
jmp 0x423a94
push 0x20
call fcn.00409a50
add esp, 4
mov esi, eax
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x423a30
push ebx
call fcn.00409a50
add esp, 4
mov dword [esi], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, ebx
and ecx, 0xfffffffc
add eax, ecx
add ebp, ecx
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, ebx
inc cl
test cl, 1
jne 0x423a83
and ebx, 2
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
mov eax, dword [esp + 4]
test eax, eax
lea edi, [esp + 3]
je 0x423a92
mov dword [eax + 4], esi
mov ebp, esi
lea ebx, [esp + 2]
lea esi, [esp + 8]
mov ecx, esi
push edi
push ebx
call fcn.00423f80
cmp byte [esp + 3], 0
je 0x423ab5
mov ecx, esi
push edi
push ebx
call fcn.00423f80
test eax, eax
je 0x423950
cmp byte [eax], 0x7b
jne 0x423950
cmp byte [esp + 2], 0
jne 0x423950
mov ecx, ebp
push esi
call fcn.004241f0
jmp 0x423950
mov al, 1
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 8
xor ecx, ecx
mov edx, eax
sub edx, 0x42c77d3c
setl cl
mov dword [esp + 0x26c], ecx
mov ecx, dword [esp + 0x270]
mov edx, dword [esp + 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2f9a1e47
setl cl
mov dword [esp + 0x1dc], ecx
mov ecx, dword [esp + 0x1e0]
mov edx, dword [esp + 0x1dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4767076a
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xfc817efa
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6fa5d7a9
setl cl
mov dword [esp + 0x254], ecx
mov ecx, dword [esp + 0x258]
mov edx, dword [esp + 0x254]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
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
sub esp, 0x2c
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x84a763a3
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xabf3c878
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x47b5a09b
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
xor ecx, ecx
sub eax, 0xde2b7de
sete cl
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x39befba3
setl cl
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
push 0xffffffffffffffdc
or eax, 0xcccd3d7
cmpsd dword [esi], dword es:[edi]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x38]
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 + 0x44]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00425b90
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xfc817efa
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, 0x255d1c4c
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, 0x1155e7e5
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, 0x99bce0c3
setl cl
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2aa730f2
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
mov al, byte [esp + 0x3e]
test al, al
mov eax, 0xabf3c878
jne 0x42520f
mov eax, 0xc7891781
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x37e589e3
sete cl
mov dword [esp + 0x1ec], ecx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd851dde8
setl cl
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x27c]
mov edx, dword [esp + 0x280]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd851dde8
sete cl
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x290]
sub eax, 0xffffffff
mov eax, 0x42c77d3c
jl 0x4252cc
mov eax, 0x3596f9a1
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x6fa5d7a9
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xabf3c878
sete cl
mov dword [esp + 0x154], ecx
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x154]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x2f9a1e47
sete cl
mov dword [esp + 0x1d4], ecx
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc7891781
setl cl
mov dword [esp + 0x164], ecx
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x164]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x3f]
test al, al
mov eax, 0x1155e7e5
jne 0x425388
mov eax, 0xabf3c878
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov byte [esp + 0x32], 0
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1155e7e5
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, 0xabf3c878
setl cl
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x42c77d3c
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
inc ecx
lcall 0x92d, 0x14e6a3e1
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4767076a
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xde2b7de
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4767076a
sete cl
mov dword [esp + 0x224], ecx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x47b5a09b
sete cl
mov dword [esp + 0x23c], ecx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x2aa730f2
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x39befba3
sete cl
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5bcb7ac8
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
xor ecx, ecx
sub eax, 0xc7891781
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
call fcn.0040a1d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xd851dde8
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2aa730f2
setl cl
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x278]
mov edx, dword [esp + 0x274]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3596f9a1
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
xor ecx, ecx
sub eax, 0xfc817efa
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
xor ecx, ecx
mov edx, eax
sub edx, 0x37e589e3
setl cl
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x43c39fa9
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
sub eax, 0xa293aa24
sete cl
mov dword [esp + 0x14c], ecx
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x14c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xde2b7de
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
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3596f9a1
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
mov ecx, esi
call fcn.0040a3e0
sub esp, 0xc
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
test eax, eax
sete byte [esp + 0x3e]
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x99bce0c3
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfc817efa
setl cl
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a1d0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x34]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x38]
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 + 0x44]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x48]
lea ecx, [esp + 0x80]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00425b90
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x2f9a1e47
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x288], eax
mov al, byte [esp + 0x58]
mov byte [esp + 0x60], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x53
xor eax, 0xfe
mov byte [esp + 0x64], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x63
xor eax, 0xff
mov byte [esp + 0x65], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x72
xor eax, 0x100
mov byte [esp + 0x66], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x65
xor eax, 0x101
mov byte [esp + 0x67], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x65
xor eax, 0x102
mov byte [esp + 0x68], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x6e
xor eax, 0x103
mov byte [esp + 0x69], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x2e
xor eax, 0x104
mov byte [esp + 0x6a], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x70
xor eax, 0x105
mov byte [esp + 0x6b], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x6e
xor eax, 0x106
mov byte [esp + 0x6c], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
add eax, 0x67
xor eax, 0x107
mov byte [esp + 0x6d], al
mov dword [esp], 0x62c847fe
mov dword [esp + 4], 5
call fcn.0041a050
xor eax, 0x108
mov byte [esp + 0x6e], al
mov eax, 0xb
mov byte [esp + eax + 0x64], 0
add eax, 1
cmp eax, 0xf
jne 0x425939
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x40]
cmp eax, 0xf
jae 0x425983
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x40]
movzx ecx, byte [esp + ecx + 0x64]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432330
mov ecx, dword [esp + 0x40]
mov byte [esp + ecx + 0x64], al
mov eax, dword [esp + 0x40]
inc eax
mov dword [esp + 0x40], eax
jmp 0x42594e
lea eax, [esp + 0x64]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x37e589e3
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, 0x3596f9a1
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
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x6fa5d7a9
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
movsd dword es:[edi], dword [esi]
sbb dh, bh
bound ecx, qword [ebx - 0x38d3dbbc]
add dl, dh
xor byte [edi + 0x24848b2a], ah
xchg esp, eax
add byte [eax], al
add byte [ebx + 0x98248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x43c39fa9
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
sub eax, 0x6fa5d7a9
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
mov bl, byte [esp + 0x32]
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
sub esp, 4
and bl, 1
movzx eax, bl
add esp, 0x2b4
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, eax
sub edx, 0xa293aa24
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
mov edx, eax
sub edx, 0x5bcb7ac8
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
sub eax, 0x255d1c4c
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
sub eax, 0x99bce0c3
sete cl
mov dword [esp + 0x13c], ecx
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4767076a
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, 0x84a763a3
sete cl
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x134]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00409a60
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x39befba3
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x84401002
mov al, byte [ebp - 0x18]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbc981c98
sete cl
mov dword [ebp - 0x1a4], ecx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xfc22e69b
sete cl
mov dword [ebp - 0x204], ecx
mov eax, dword [ebp - 0x208]
mov ecx, dword [ebp - 0x204]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3c]
mov dword [eax], 0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xcb7709d7
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x782e5a13
setl cl
mov dword [ebp - 0x31c], ecx
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x31c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x97658e9
setl cl
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebp - 0x228]
mov edx, dword [ebp - 0x224]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6d2723d3
sete cl
mov dword [ebp - 0x2fc], ecx
mov eax, dword [ebp - 0x300]
mov ecx, dword [ebp - 0x2fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcb7709d7
setl cl
mov dword [ebp - 0x23c], ecx
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x1a]
test al, al
mov eax, 0x740e297d
jne 0x4261c9
mov eax, 0xf116114f
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x69a902f1
setl cl
mov dword [ebp - 0x32c], ecx
mov ecx, dword [ebp - 0x330]
mov edx, dword [ebp - 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf2074210
setl cl
mov dword [ebp - 0x1ec], ecx
mov ecx, dword [ebp - 0x1f0]
mov edx, dword [ebp - 0x1ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xfc22e69b
setl cl
mov dword [ebp - 0x20c], ecx
mov ecx, dword [ebp - 0x210]
mov edx, dword [ebp - 0x20c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x517ca4e2
sete cl
mov dword [ebp - 0x2c4], ecx
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [ebp - 0x2c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x102c0f5e
sete cl
mov dword [ebp - 0x24c], ecx
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x24c]
mov eax, dword [eax + ecx*4]
jmp eax
cmpsb byte [esi], byte es:[edi]
in al, dx
scasd eax, dword es:[edi]
insb byte es:[edi], dx
dec ebp
dec edi
insb byte es:[edi], dx
mov eax, dword ss:[ebp - 0x10]
mov dword [eax], 0xb95a340b
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xbc8e2e6
setl cl
mov dword [ebp - 0x33c], ecx
mov ecx, dword [ebp - 0x340]
mov edx, dword [ebp - 0x33c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xaf075b45
setl cl
mov dword [ebp - 0x174], ecx
mov ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xea77a36b
sete cl
mov dword [ebp - 0x1cc], ecx
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf116114f
sete cl
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1e0]
mov ecx, dword [ebp - 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x17]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
mov edx, eax
sub edx, 0x2c7e506
setl cl
mov dword [ebp - 0x22c], ecx
mov ecx, dword [ebp - 0x230]
mov edx, dword [ebp - 0x22c]
mov ecx, dword [ecx + edx*4]
jmp ecx
jbe 0x4263df
ret
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3f8be071
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [0x22e2ae75], eax
adc al, 0xe7
sub byte [ebx + 0xc7f045], cl
wait
out 0x22, al
cld
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30]
sub ecx, eax
setl byte [ebp - 0x19]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x517ca4e2
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
dec dword [ebx - 0xdf73]
dec dword [ebx - 0x1f007efc]
xor ecx, ecx
mov edx, eax
sub edx, 0x528196f8
setl cl
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2ec]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xbc981c98
setl cl
mov dword [ebp - 0x1ac], ecx
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x18fd2adc
setl cl
mov dword [ebp - 0x274], ecx
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x274]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xb95a340b
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x782e5a13
sete cl
mov dword [ebp - 0x314], ecx
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x314]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x30]
mov ebx, dword [eax + ecx*4]
mov edx, ebx
and edx, 0xff00ff00
mov esi, ebx
and esi, 0xff0000
shr esi, 0x10
or edx, esi
movzx esi, bl
shl esi, 0x10
mov edi, edx
not edi
mov ebx, esi
not ebx
and edi, ebx
or edx, esi
not edi
and edi, edx
mov dword [eax + ecx*4], edi
mov eax, dword [ebp - 0x30]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov ecx, dword [ebp - 0x10]
mov dword [ecx], 0x64ce8ad9
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x69a902f1
sete cl
mov dword [ebp - 0x2f4], ecx
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x2f4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x528196f8
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x64ce8ad9
sete cl
mov dword [ebp - 0x2dc], ecx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xbc8e2e6
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa97e9a0a
setl cl
mov dword [ebp - 0x17c], ecx
mov ecx, dword [ebp - 0x180]
mov edx, dword [ebp - 0x17c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb95a340b
sete cl
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x28]
sub esp, 4
mov dword [esp], eax
call fcn.00409a60
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x69a902f1
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xb2585b39
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
setl byte [ebp - 0x1a]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x18fd2adc
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb771d10b
setl cl
mov dword [ebp - 0x194], ecx
mov ecx, dword [ebp - 0x198]
mov edx, dword [ebp - 0x194]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2c7e506
sete cl
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf2074210
sete cl
mov dword [ebp - 0x1e4], ecx
mov eax, dword [ebp - 0x1e8]
mov ecx, dword [ebp - 0x1e4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf999e95b
sete cl
mov dword [ebp - 0x1fc], ecx
mov eax, dword [ebp - 0x200]
mov ecx, dword [ebp - 0x1fc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x216ae85c
sete cl
mov dword [ebp - 0x264], ecx
mov eax, dword [ebp - 0x268]
mov ecx, dword [ebp - 0x264]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x528196f8
sete cl
mov dword [ebp - 0x2d4], ecx
mov eax, dword [ebp - 0x2d8]
mov ecx, dword [ebp - 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x18fd2adc
sete cl
mov dword [ebp - 0x25c], ecx
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x216ae85c
setl cl
mov dword [ebp - 0x26c], ecx
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x26c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xea77a36b
setl cl
mov dword [ebp - 0x1d4], ecx
mov ecx, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3365db3a
sete cl
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0x27c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x354], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x35d44d24
mov eax, dword [ebp - 0xfc]
mov ecx, dword [ebp - 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4399d95d
setl cl
mov dword [ebp - 0x334], ecx
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x334]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xaf075b45
sete cl
mov dword [ebp - 0x16c], ecx
mov eax, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x16c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf999e95b
setl cl
mov dword [ebp - 0x234], ecx
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x234]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3f8be071
sete cl
mov dword [ebp - 0x29c], ecx
mov eax, dword [ebp - 0x2a0]
mov ecx, dword [ebp - 0x29c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x3892d6d6
sete cl
mov dword [ebp - 0x294], ecx
mov eax, dword [ebp - 0x298]
mov ecx, dword [ebp - 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3365db3a
mov dword [ebp - 0x44], 0
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa97e9a0a
sete cl
mov dword [ebp - 0x164], ecx
mov eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x84401002
sete cl
mov dword [ebp - 0x15c], ecx
mov eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 0x15c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xf999e95b
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x517ca4e2
setl cl
mov dword [ebp - 0x2cc], ecx
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x2cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3365db3a
setl cl
mov dword [ebp - 0x2b4], ecx
mov ecx, dword [ebp - 0x2b8]
mov edx, dword [ebp - 0x2b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xea77a36b
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x348]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3f8be071
setl cl
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x2a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x64ce8ad9
setl cl
mov dword [ebp - 0x2e4], ecx
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x2e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x102c0f5e
setl cl
mov dword [ebp - 0x254], ecx
mov ecx, dword [ebp - 0x258]
mov edx, dword [ebp - 0x254]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x3365db3a
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3892d6d6
setl cl
mov dword [ebp - 0x2ac], ecx
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x2ac]
mov ecx, dword [ecx + edx*4]
jmp ecx
push ebp
xchg edi, eax
in al, 0xfc
mov bh, 0x43
sbb dword [ebp - 0x75], esp
inc ebp
invalid
mov al, byte [ebp - 0x1b]
test al, al
mov eax, 0x782e5a13
jne 0x426a70
mov eax, 0x84401002
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x15], 0
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x2c], eax
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
sub esp, 0xc
mov dword [esp + 8], eax
mov edi, dword [ebp + 8]
mov dword [esp], edi
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebp - 0x14]
mov dword [eax], 0x28
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x2c]
add eax, 8
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
neg eax
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x14]
mov word [eax + 0xc], 1
mov eax, dword [ebp - 0x2c]
mov cx, word [eax + 0x12]
mov eax, dword [ebp - 0x14]
mov word [eax + 0xe], cx
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x10], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x14], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x18], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x1c], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x20], 0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 0x24], 0
movzx eax, word [eax + 0xe]
shr eax, 3
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx]
mov edx, dword [ebp - 0x20]
mov edx, dword [edx]
imul ecx, edx
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
imul ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00409a50
add esp, 4
mov dword [ebp - 0x28], eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x4c]
sub esp, 0x1c
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
test eax, eax
setne byte [ebp - 0x1b]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x97658e9
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x35d44d24
sete cl
mov dword [ebp - 0x284], ecx
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x284]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x4c]
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 - 0x10]
mov dword [eax], 0x6d2723d3
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x16]
mov byte [ebp - 0x18], al
call fcn.0040a1d0
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xfc22e69b
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb2585b39
setl cl
mov dword [ebp - 0x1bc], ecx
mov ecx, dword [ebp - 0x1c0]
mov edx, dword [ebp - 0x1bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb771d10b
sete cl
mov dword [ebp - 0x18c], ecx
mov eax, dword [ebp - 0x190]
mov ecx, dword [ebp - 0x18c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb2585b39
sete cl
mov dword [ebp - 0x184], ecx
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xbc8e2e6
sete cl
mov dword [ebp - 0x244], ecx
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x2c7e506
mov byte [ebp - 0x16], 1
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
in eax, dx
cmp bl, byte [esi + 0x6d]
xchg esi, eax
add eax, dword [edx - 3]
push eax
sub esp, 0x14
mov esi, esp
sub esp, 0x28
mov edi, esp
push eax
sub esp, 0xc
mov dword [esp + 8], esi
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov dword [edi], 0x28
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
neg eax
mov dword [edi + 8], eax
mov word [edi + 0xc], 1
mov ax, word [esi + 0x12]
mov word [edi + 0xe], ax
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
movzx eax, word [edi + 0xe]
shr eax, 3
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x58], esi
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov esi, ecx
not esi
mov ebx, edx
and ebx, esi
mov esi, edx
not esi
mov eax, ecx
and eax, esi
imul eax, ebx
mov esi, ecx
and esi, edx
or ecx, edx
imul ecx, esi
add ecx, eax
imul ecx, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], ecx
call fcn.00409a50
add esp, 4
mov esi, eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov ecx, dword [ebp - 0x58]
mov ecx, dword [ecx + 8]
sub esp, 0x1c
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov eax, dword [sym.imp.GDI32.dll_GetDIBits]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x528196f8
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x35d44d24
setl cl
mov dword [ebp - 0x28c], ecx
mov ecx, dword [ebp - 0x290]
mov edx, dword [ebp - 0x28c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb95a340b
setl cl
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf116114f
setl cl
mov dword [ebp - 0x1f4], ecx
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp - 0x1f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x6d2723d3
setl cl
mov dword [ebp - 0x304], ecx
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x304]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [ebp - 0x19]
test al, al
mov eax, 0xa97e9a0a
jne 0x426edf
mov eax, 0xf2074210
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x38]
mov edx, eax
not edx
mov esi, ecx
and esi, edx
mov edx, ecx
not edx
mov edi, eax
and edi, edx
imul edi, esi
mov edx, eax
and edx, ecx
or eax, ecx
imul eax, edx
add eax, edi
mov ecx, dword [ebp - 0x34]
imul eax, ecx
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x350], ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x64ce8ad9
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x97658e9
sete cl
mov dword [ebp - 0x21c], ecx
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x21c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x358]
mov edi, dword [ebp - 0x354]
sub esp, 0x1c
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00405d50
add esp, 0x1c
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
test eax, eax
mov eax, 0x4399d95d
jne 0x426fc5
mov eax, 0x2c7e506
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x16], 0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x4399d95d
sete cl
mov dword [ebp - 0x2bc], ecx
mov eax, dword [ebp - 0x2c0]
mov ecx, dword [ebp - 0x2bc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x740e297d
sete cl
mov dword [ebp - 0x30c], ecx
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xcb7709d7
sete cl
mov dword [ebp - 0x1c4], ecx
mov eax, dword [ebp - 0x1c8]
mov ecx, dword [ebp - 0x1c4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x740e297d
setl cl
mov dword [ebp - 0x324], ecx
mov ecx, dword [ebp - 0x328]
mov edx, dword [ebp - 0x324]
mov ecx, dword [ecx + edx*4]
jmp ecx
jmp 0x4275ae
movzx ebx, word [eax]
test bx, bx
je 0x42758b
mov dword [esi + 8], eax
mov edx, eax
add edx, 2
xor ecx, ecx
jmp 0x42744f
mov ecx, dword [esi]
add ecx, eax
movzx ebx, word [edx]
add edx, 2
test bx, bx
je 0x427473
mov dword [esi], ecx
movzx ecx, bx
cmp ecx, 0x800
mov ebx, 3
sbb ebx, 0
mov eax, 1
cmp ecx, 0x80
jb 0x427440
mov eax, ebx
jmp 0x427440
mov ebx, dword [esi + 8]
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.00409a20
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x427593
lea edx, [eax + ecx]
mov dword [esi + 0x9c], edx
inc ecx
add ecx, eax
mov edx, eax
mov dword [esi], ecx
jmp 0x4274d1
mov ebx, dword [esi + 4]
mov byte [edx], bl
mov dword [esi + 0xc], 1
mov ebx, dword [esi + 8]
add ebx, 2
add edx, dword [esi + 0xc]
cmp edx, dword [esi + 0x9c]
jae 0x427595
mov dword [esi + 8], ebx
movzx ebx, word [ebx]
mov dword [esi + 4], ebx
test bx, bx
je 0x427595
cmp word [esi + 4], 0x7f
jbe 0x4274b0
mov dword [esi + 0xac], edx
mov ebx, edx
not ebx
add ebx, ecx
movzx edx, word [esi + 4]
mov dword [esi + 0x30], edx
cmp ebx, 2
jb 0x427540
cmp dword [esi + 0x30], 0x7ff
ja 0x427540
mov ebx, dword [esi + 4]
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edx, dword [esi + 0xac]
mov byte [edx], cl
mov ecx, dword [esi]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov dword [esi + 0xc], 2
jmp 0x4274bc
mov dword [esi + 0xc], 0
cmp ebx, 3
mov edx, dword [esi + 0xac]
jb 0x4274bc
mov ecx, dword [esi + 0x30]
shr ecx, 0xc
or cl, 0xe0
mov byte [edx], cl
mov ecx, dword [esi]
shr dword [esi + 0x30], 6
mov ebx, dword [esi + 0x30]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 1], bl
mov ebx, dword [esi + 4]
and bl, 0x3f
or bl, 0x80
mov byte [edx + 2], bl
mov dword [esi + 0xc], 3
jmp 0x4274bc
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edx, eax
mov byte [edx], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4275ab
inc eax
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4275a0
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea ebx, [esi + 0x1dc]
push ebx
call fcn.00429d70
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x447998]
jmp 0x427d8e
mov eax, dword [esi + 0x1dc]
mov byte [esi + 0x7fa], 0
test eax, eax
je 0x42764c
lea ecx, [esi + 0x7fa]
cmp eax, 0x64
jb 0x42765b
nop
nop
nop
nop
mov dword [esi], ecx
mov ebx, eax
mov dword [esi + 4], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov eax, ebx
sub eax, ecx
mov ebx, eax
and ebx, 2
mov ecx, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and ecx, 0x7d
imul ecx, ebx
movzx eax, word [ecx + eax + 0x442318]
mov ecx, dword [esi]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp dword [esi + 4], 0x270f
mov eax, edx
ja 0x4275f0
cmp edx, 9
ja 0x427662
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x42768b
lea ecx, [esi + 0x7f9]
mov byte [esi + 0x7f9], 0x30
jmp 0x427691
mov edx, eax
cmp edx, 9
jbe 0x42763f
mov eax, edx
and eax, 2
mov ebx, ecx
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov ecx, ebx
mov word [ebx - 2], ax
add ecx, 0xfffffffe
lea ebx, [esi + 0x1dc]
mov dword [esi], ecx
mov eax, dword [esi + 0x1e0]
mov byte [esi + 0xe2], 0
test eax, eax
je 0x42770e
lea ecx, [esi + 0xe2]
cmp eax, 0x64
jb 0x42771d
nop
mov dword [esi + 4], ecx
mov ebx, eax
mov dword [esi + 8], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov eax, ebx
sub eax, ecx
mov ebx, eax
and ebx, 2
mov ecx, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and ecx, 0x7d
imul ecx, ebx
movzx eax, word [ecx + eax + 0x442318]
mov ecx, dword [esi + 4]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp dword [esi + 8], 0x270f
mov eax, edx
ja 0x4276b0
cmp edx, 9
ja 0x427724
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x42774d
lea ecx, [esi + 0xe1]
mov byte [esi + 0xe1], 0x30
jmp 0x427753
mov edx, eax
cmp edx, 9
jbe 0x427701
mov eax, edx
and eax, 2
mov ebx, ecx
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov ecx, ebx
mov word [ebx - 2], ax
add ecx, 0xfffffffe
lea ebx, [esi + 0x1dc]
mov eax, dword [esi + 0x1e4]
mov byte [esi + 0x54e], 0
test eax, eax
mov dword [esi + 4], ecx
je 0x4277e1
lea ecx, [esi + 0x54e]
cmp eax, 0x64
jb 0x4277f3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esi + 8], ecx
mov ebx, eax
mov dword [esi + 0xc], eax
mov ecx, 0x51eb851f
mul ecx
shr edx, 5
imul ecx, edx, 0x64
mov eax, ebx
sub eax, ecx
mov ebx, eax
and ebx, 2
mov ecx, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and ecx, 0x7d
imul ecx, ebx
movzx eax, word [ecx + eax + 0x442318]
mov ecx, dword [esi + 8]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
cmp dword [esi + 0xc], 0x270f
mov eax, edx
ja 0x427780
cmp edx, 9
ja 0x4277fa
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
mov dword [esi + 8], ecx
jmp 0x427824
lea eax, [esi + 0x54d]
mov dword [esi + 8], eax
mov byte [esi + 0x54d], 0x30
jmp 0x42782a
mov edx, eax
cmp edx, 9
jbe 0x4277d1
mov eax, edx
and eax, 2
mov ebx, ecx
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov dword [esi + 8], ebx
lea ebx, [esi + 0x1dc]
mov eax, dword [esi + 0x1ec]
mov dword [esi + 0x5f0], 0x70a250b2
mov dword [esi + 0x5f4], 0x626ca177
mov dword [esi + 0x5f8], 0x28231212
mov dword [esi + 0x5fc], 0xbf9e772a
mov byte [esi + 0x600], 0
mov dword [esi + 0x6c], 0
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x10
ja 0x4278b0
nop
nop
mov ecx, dword [esi + 0x6c]
mov edx, dword [esi + 0x6c]
movzx edx, byte [esi + edx + 0x5f0]
add ecx, 0xd12c8656
xor ecx, edx
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x34]
mov edx, ecx
not edx
and edx, 0xda
and ecx, 0x25
sub ecx, edx
mov edx, dword [esi + 0x6c]
mov byte [esi + edx + 0x5f0], cl
inc dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
cmp ecx, 0x11
jb 0x427870
movzx ecx, byte [esi + 0x5f0]
test cl, cl
je 0x4278db
lea edx, [esi + 0x5f1]
nop
nop
nop
nop
nop
nop
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 0x4278d0
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4278fb
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 0x4278f0
mov word [edi], 0x2820
add edi, 2
mov ecx, dword [esi]
movzx eax, byte [ecx]
test al, al
je 0x42791b
inc ecx
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427910
mov byte [edi], 0x2e
inc edi
mov ecx, dword [esi + 4]
movzx eax, byte [ecx]
test al, al
je 0x42793b
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427930
mov byte [edi], 0x2e
inc edi
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
test al, al
je 0x42795b
inc ecx
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427950
mov byte [edi], 0x29
inc edi
lea eax, [esi + 0x10]
push eax
call fcn.0043f170
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4479a0]
jmp 0x427a7e
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x10], 1
sete al
jmp dword [eax*4 + 0x4479b8]
mov dword [esi + 0x5f0], 0xb7686b52
mov byte [esi + 0x5f4], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 4
ja 0x427a52
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xaececc3f
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0xb
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 5
jb 0x4279c0
jmp 0x427a52
mov dword [esi + 0x5f0], 0xce9d9945
mov word [esi + 0x5f4], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 5
ja 0x427a52
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0xcd24d254
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x67
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 6
jb 0x427a20
lea eax, [esi + 0x5f0]
inc edi
movzx ecx, byte [eax]
test cl, cl
je 0x427a7b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x427a70
mov byte [edi], 0
mov dword [esi + 0x5f0], 0x1e497d55
mov dword [esi + 0x5f4], 0x3204073c
mov dword [esi + 0x5f8], 0x2e001c47
mov dword [esi + 0x5fc], 0x9e7d563e
mov byte [esi + 0x600], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 0x10
ja 0x427afd
nop
nop
nop
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [esi + ecx + 0x5f0]
mov edx, eax
and edx, 0xe59292d3
xor eax, 0xe59292d3
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
add al, 0x84
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 0x11
jb 0x427ac0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x427b1b
lea ecx, [esi + 0x5f1]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427b10
mov byte [edi], 0
movzx eax, byte [esi + 0x1f0]
test al, al
je 0x427b3b
lea ecx, [esi + 0x1f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427b30
mov byte [edi], 0
mov dword [esi + 0x5f0], 0x5f60768c
mov dword [esi + 0x5f4], 0x6f233a29
mov dword [esi + 0x5f8], 0x243e3854
mov dword [esi + 0x5fc], 0x4b4b7570
mov word [esi + 0x600], 0x915b
mov dword [esi + 0x602], 0
mov byte [esi + 0x606], 0
mov dword [esi + 0x6c], 0
mov eax, dword [esi + 0x6c]
cmp eax, 0x16
ja 0x427bcf
nop
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi + 0x6c]
movzx edx, byte [esi + ecx + 0x5f0]
lea ecx, [eax + edx]
add eax, 0xe3
and eax, edx
add eax, eax
sub ecx, eax
add ecx, 0x2d6281e3
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0x34]
add al, 0x9b
mov ecx, dword [esi + 0x6c]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x6c]
mov eax, dword [esi + 0x6c]
cmp eax, 0x17
jb 0x427b90
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x427beb
lea ecx, [esi + 0x5f1]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427be0
mov byte [edi], 0
movzx edx, word [esi + 0x204]
xor eax, eax
test dx, dx
setns al
jmp dword [eax*4 + 0x4479c0]
jmp 0x427c11
mov byte [edi], 0x2b
inc edi
movzx edx, word [esi + 0x204]
mov byte [esi + 0x3a], 0
test dx, dx
je 0x427c64
lea eax, [esi + 0x3a]
movsx ecx, dx
sar ecx, 0xf
mov dword [esi + 4], edx
xor edx, ecx
sub edx, ecx
cmp dx, 0x64
jb 0x427c6f
movzx ebx, dx
mov dword [esi], ebx
shr ebx, 2
imul ebx, ebx, 0x147b
shr ebx, 0x11
imul ecx, ebx, 0x64
sub edx, ecx
movzx ecx, dx
movzx ecx, word [ecx + ecx + 0x442318]
mov word [eax - 2], cx
add eax, 0xfffffffe
mov edx, ebx
cmp dword [esi], 0x270f
ja 0x427c30
jmp 0x427c71
lea eax, [esi + 0x39]
mov byte [esi + 0x39], 0x30
mov dl, 0x30
jmp 0x427cba
mov ebx, edx
movzx ecx, bx
cmp cx, 9
ja 0x427c87
movzx edx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x427ca0
movzx edx, byte [ecx + ecx + 0x442319]
mov byte [eax - 1], dl
movzx edx, byte [ecx + ecx + 0x442318]
mov byte [eax - 2], dl
add eax, 0xfffffffe
lea ebx, [esi + 0x1dc]
cmp word [esi + 4], 0
js 0x427cb3
test dl, dl
jne 0x427cba
jmp 0x427ccb
mov byte [eax - 1], 0x2d
dec eax
mov dl, 0x2d
inc eax
nop
nop
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x427cc0
mov byte [edi], 0
mov dword [esi + 0x5f0], 0x79536743
mov dword [esi + 0x5f4], 0x1d232123
mov dword [esi + 0x5f8], 0x745b2e29
mov dword [esi + 0x5fc], 0x620a3a18
mov dword [esi + 0x600], 0xa245
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x13
ja 0x427d4d
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x5f0]
mov edx, eax
and edx, 0x32524bc3
xor eax, 0xb2524bc3
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
add al, 0x8a
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 0x14
jb 0x427d10
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x427d6b
lea ecx, [esi + 0x5f1]
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427d60
mov byte [edi], 0
movzx eax, byte [esi + 0x206]
test al, al
je 0x427d8b
lea ecx, [esi + 0x207]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x427d80
mov byte [edi], 0
mov eax, dword [esi + 0x1ec]
test eax, eax
je 0x427da1
push eax
call fcn.00409a60
add esp, 4
call fcn.00436f20
movzx eax, al
jmp dword [eax*4 + 0x4479c8]
mov dword [esi + 0x5f0], 0x9ce6e4ee
mov word [esi + 0x5f4], 0x9ed
mov dword [esi + 0x5f6], 0
mov byte [esi + 0x5fa], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
ja 0x427ec7
nop
nop
nop
mov eax, dword [esi + 0x7f0]
mov ecx, dword [esi + 0x7f0]
movzx ecx, byte [esi + ecx + 0x5f0]
add eax, 0x970910d6
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0x2e
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xb
jb 0x427df0
jmp 0x427ec7
mov dword [esi + 0x5f0], 0x9c6d6d6e
mov byte [esi + 0x5f4], 0xfe
mov dword [esi + 0x5f5], 0
mov word [esi + 0x5f9], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0xa
ja 0x427ec7
nop
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 + 0x5f0]
add eax, 0xd41e6be0
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0xe6
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0xb
jb 0x427e80
lea eax, [esi + 0x5f0]
mov dword [esi + 0x1dc], 0x472d3d19
mov dword [esi + 0x1e0], 0x6773617f
mov dword [esi + 0x1e4], 0x52797d6b
mov word [esi + 0x1e8], 0x1233
mov dword [esi + 0x1ea], 0
mov word [esi + 0x1ee], 0
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x13
ja 0x427f69
nop
nop
nop
nop
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x3a863f08
xor ecx, edx
mov dword [esi + 0x7f0], ecx
mov ecx, dword [esi + 0x7f0]
add cl, 0xf9
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x14
jb 0x427f20
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x427f8b
lea edx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x427f80
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x427fab
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 0x427fa0
mov byte [edi], 0
mov byte [esi + 0x534], 0
mov dword [esi + 0xd0], 0x10
push 0x4cbcd57b
push dword [0x44a968]
call fcn.0043e870
add esp, 8
lea ecx, [esi + 0xd0]
lea edx, [esi + 0x534]
push ecx
push edx
call eax
mov dword [esi + 0x1dc], 0xe0c2d4ba
mov dword [esi + 0x1e0], 0x360e080d
mov dword [esi + 0x1e4], 0xff080434
mov word [esi + 0x1e8], 0xb7d4
mov dword [esi + 0x1ea], 0
mov word [esi + 0x1ee], 0
mov dword [esi + 0x7f0], 0
mov eax, dword [esi + 0x7f0]
cmp eax, 0x13
ja 0x428092
nop
nop
nop
nop
nop
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 + 0x1dc]
mov edx, eax
and edx, 0xedbe7a0d
xor eax, 0x6dbe7a0d
lea eax, [eax + edx*2]
xor eax, ecx
mov dword [esi + 0x5f0], eax
mov eax, dword [esi + 0x5f0]
add al, 0x53
mov ecx, dword [esi + 0x7f0]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x7f0]
mov eax, dword [esi + 0x7f0]
cmp eax, 0x14
jb 0x428040
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4280bb
lea ecx, [esi + 0x1dd]
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 0x4280b0
mov byte [edi], 0
movzx eax, byte [esi + 0x534]
test al, al
je 0x4280db
lea ecx, [esi + 0x535]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4280d0
mov byte [edi], 0
mov dword [esi + 0x7f0], 0
mov dword [esi + 0x7f4], 0
mov eax, dword [0x44965c]
mov dword [esi + 0x1dc], 0xfc11f210
mov dword [esi + 0x1e0], 0xf81afe01
mov dword [esi + 0x1e4], 0x846efa0b
mov dword [esi + 0x1e8], 0x80b386ba
mov dword [esi + 0x1ec], 0x8c6182b5
mov dword [esi + 0x1f0], 0x887d8e7b
mov word [esi + 0x1f4], 0x8a8b
mov dword [esi + 0x1f6], 0
mov byte [esi + 0x1fa], 0
mov dword [esi + 0xd8], 0
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x1e
ja 0x4281b9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xd8]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x2cc4d936
xor ecx, edx
mov dword [esi + 0x5f0], ecx
mov ecx, dword [esi + 0x5f0]
add cl, 0x3b
mov edx, dword [esi + 0xd8]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
cmp ecx, 0x1f
jb 0x428170
push 0x800
push 0
push ebx
call eax
lea ecx, [esi + 0x7f0]
push eax
call fcn.0043c5e0
movzx eax, al
jmp dword [eax*4 + 0x4479d0]
jmp 0x4282ea
mov byte [esi + 0x1dc], 0
mov dword [esi + 0x34], 0x101
push 0x19cb8461
push dword [esi + 0x7f0]
call fcn.0043e870
add esp, 8
lea ecx, [esi + 0x34]
push ecx
push ebx
call eax
mov dword [esi + 0x5f0], 0xa56f7b17
mov dword [esi + 0x5f4], 0x4eb9b7ba
mov dword [esi + 0x5f8], 0x665
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0xb
ja 0x428294
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x5f0]
lea edx, [eax + ecx]
add edx, 0x63cc5921
add eax, 0x63cc5921
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 0xd8], edx
mov eax, dword [esi + 0xd8]
add al, 0xd4
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x5f0], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0xc
jb 0x428240
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x4282bb
lea ecx, [esi + 0x5f1]
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 0x4282b0
mov byte [edi], 0
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4282db
lea ecx, [esi + 0x1dd]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4282d0
mov byte [edi], 0
push dword [esi + 0x7f0]
call dword [0x449760]
push 0x6ead8a84
push dword [0x44a968]
call fcn.0043e870
add esp, 8
mov ebx, eax
mov byte [esi + 0x5f0], 0
mov dword [esi + 0xcc], 0x200
lea eax, [esi + 0xcc]
lea ecx, [esi + 0x5f0]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x1dc], 0x80e5f5d9
mov dword [esi + 0x1e0], 0xa7bea9aa
mov dword [esi + 0x1e4], 0xdcfd90ad
mov word [esi + 0x1e8], 0
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 0xd
ja 0x4283a7
nop
nop
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x5b9c884c
xor eax, ecx
mov dword [esi + 0x7f0], eax
mov eax, dword [esi + 0x7f0]
add al, 0x75
mov ecx, dword [esi + 0xd8]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
cmp eax, 0xe
jb 0x428360
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4283cb
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4283c0
mov byte [edi], 0
movzx eax, byte [esi + 0x5f0]
test al, al
je 0x4283eb
lea ecx, [esi + 0x5f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4283e0
mov byte [edi], 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 + 0x1dc], 0xae47536f
mov dword [esi + 0x1e0], 0x989f9194
mov dword [esi + 0x1e4], 0x50849b8e
mov dword [esi + 0x1e8], 0x6c4d
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0xf
ja 0x428497
nop
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x1a7da222
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xbd
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0x10
jb 0x428450
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4284bb
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4284b0
mov byte [edi], 0
movzx eax, byte [esi + 0x7f0]
test al, al
je 0x4284db
lea ecx, [esi + 0x7f1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4284d0
mov byte [edi], 0
mov byte [esi + 0x524], 0
mov dword [esi + 0xc4], 0x10
lea eax, [esi + 0xc4]
lea ecx, [esi + 0x524]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x1dc], 0x9b4ca648
mov dword [esi + 0x1e0], 0x90aae3f3
mov dword [esi + 0x1e4], 0x45ae989d
mov byte [esi + 0x1e8], 0x66
mov dword [esi + 0x1e9], 0
mov dword [esi + 0x1ec], 0
mov dword [esi + 0x544], 0
mov eax, dword [esi + 0x544]
cmp eax, 0x13
ja 0x428597
nop
mov eax, dword [esi + 0x544]
mov ecx, dword [esi + 0x544]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xe4dd9fae
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x24
mov ecx, dword [esi + 0x544]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x544]
mov eax, dword [esi + 0x544]
cmp eax, 0x14
jb 0x428550
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4285bb
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285b0
mov byte [edi], 0
movzx eax, byte [esi + 0x524]
test al, al
je 0x4285db
lea ecx, [esi + 0x525]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4285d0
mov byte [edi], 0
mov word [esi + 0x544], 0
push 0x9887397f
push dword [0x44a968]
call fcn.0043e870
add esp, 8
lea ecx, [esi + 0x544]
push 0x56
mov ebx, ecx
push ecx
call eax
mov dword [esi + 0x1dc], 0x6c39492d
mov dword [esi + 0x1e0], 0x9f8c8488
mov dword [esi + 0x1e4], 0x568a8b8c
mov dword [esi + 0x1e8], 0xe2f
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x428678
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xf8835e84
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x61
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428640
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42869d
lea ecx, [esi + 0x1dd]
mov edx, ebx
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428690
jmp 0x42869f
mov edx, ebx
mov byte [edi], 0
lea eax, [edi + 0x56]
mov dword [esi + 0xc], eax
xor ecx, ecx
mov ebx, edi
jmp 0x4286c8
mov byte [ebx], al
mov ebx, 1
add ecx, ebx
add edx, 2
lea ebx, [edi + ecx]
cmp ecx, 0x55
jae 0x428769
movzx eax, word [edx]
test ax, ax
je 0x428769
cmp ax, 0x7f
jbe 0x4286b0
mov dword [esi + 4], edx
mov dword [esi + 8], ebx
mov edx, ebx
not edx
add edx, dword [esi + 0xc]
movzx ebx, ax
mov dword [esi], ebx
cmp edx, 2
jb 0x428720
cmp dword [esi], 0x7ff
ja 0x428720
mov edx, eax
shr edx, 6
add dl, 0xc0
mov ebx, dword [esi + 8]
mov byte [ebx], dl
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
mov ebx, 2
mov edx, dword [esi + 4]
jmp 0x4286b7
xor ebx, ebx
cmp edx, 3
mov edx, dword [esi + 4]
jb 0x4286b7
mov edx, dword [esi]
shr edx, 0xc
or dl, 0xe0
mov ebx, dword [esi + 8]
mov byte [ebx], dl
mov edx, dword [esi + 4]
mov dword [esi + 0x30], ecx
mov ecx, dword [esi]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov dword [esi], ecx
mov ebx, dword [esi + 8]
mov ecx, dword [esi]
mov byte [ebx + 1], cl
mov ecx, dword [esi + 0x30]
and al, 0x3f
or al, 0x80
mov ebx, dword [esi + 8]
mov byte [ebx + 2], al
mov ebx, 3
jmp 0x4286b7
mov byte [ebx], 0
mov ecx, ebx
not ecx
and ecx, edi
mov eax, edi
not eax
and eax, ebx
sub eax, ecx
mov dword [esi + 0x1dc], 0xeecaf4d2
mov dword [esi + 0x1e0], 0xc1353b32
mov dword [esi + 0x1e4], 0x32303816
mov word [esi + 0x1e8], 0xed31
mov byte [esi + 0x1ea], 0xa6
mov word [esi + 0x1eb], 0
mov dword [esi + 0x34], 0
mov ecx, dword [esi + 0x34]
cmp ecx, 0x10
ja 0x4287fa
mov ecx, dword [esi + 0x34]
mov edx, dword [esi + 0x34]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0xceb4d691
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0xc7
mov edx, dword [esi + 0x34]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
cmp ecx, 0x11
jb 0x4287c0
add edi, eax
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x42881b
lea ecx, [esi + 0x1dd]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428810
mov byte [edi], 0
call fcn.0042ec60
xor edx, edx
test eax, eax
setne dl
mov dword [esi], eax
mov ecx, eax
mov eax, edi
jmp dword [edx*4 + 0x4479d8]
mov edi, eax
jmp dword [0x447a2c]
mov dword [esi + 0x1dc], 0x64728faf
mov dword [esi + 0x1e0], 0x2d313157
mov byte [esi + 0x1e4], 0x81
mov dword [esi + 0x1e5], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x4288b8
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x3642fa5f
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x1a
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428880
movzx eax, byte [esi + 0x1dc]
mov ecx, edi
test al, al
je 0x4288db
lea edx, [esi + 0x1dd]
mov ecx, edi
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4288d0
mov byte [ecx], 0
jmp case.0x4281d2.23
mov byte [edx], 0
jmp dword [0x447a34]
mov dword [esi + 0x1dc], 0x64728faf
mov dword [esi + 0x1e0], 0x2d313157
mov byte [esi + 0x1e4], 0x81
mov dword [esi + 0x1e5], 0
mov dword [esi + 0x1e8], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x428968
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x3642fa5f
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x1a
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428930
movzx eax, byte [esi + 0x1dc]
mov edx, edi
test al, al
je 0x4288e0
lea ecx, [esi + 0x1dd]
mov edx, edi
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 0x428990
jmp 0x4288e0
mov ecx, dword [ecx]
xor edx, edx
test ecx, ecx
setne dl
mov eax, edi
jmp dword [edx*4 + 0x447a08]
mov dword [eax], 0x202d090a
add eax, 4
mov edx, dword [ecx + 8]
movzx ebx, byte [edx]
test bl, bl
mov edi, eax
je 0x4289db
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x4289d0
mov byte [edi], 0
xor edx, edx
cmp byte [ecx + 4], 3
setb dl
jmp dword [edx*4 + 0x4479e0]
jmp dword [0x4479e8]
lea eax, [edi + 1]
mov byte [edi], 0x20
movzx edx, byte [ecx + 4]
jmp dword [0x4479f0]
mov byte [edi], 0x20
lea eax, [edi + 1]
mov byte [edi], 0x20
movzx edx, byte [ecx + 4]
jmp dword [0x4479f0]
xor ebx, ebx
test dl, dl
sete bl
jmp dword [ebx*4 + 0x4479f8]
xor ebx, ebx
cmp dl, 1
sete bl
jmp dword [ebx*4 + 0x447a00]
lea edx, [esi + 0x1e6]
mov dword [esi + 0x1dc], 0xf8f8f2e9
mov dword [esi + 0x1e0], 0xf905f1f9
mov word [esi + 0x1e4], 0xb713
mov word [edx + 4], 0
mov dword [edx], 0
mov dword [esi + 0x10], 0
mov edx, dword [esi + 0x10]
cmp edx, 0xf
ja 0x428ac4
nop
nop
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x10]
movzx edi, byte [esi + edi + 0x1dc]
lea ebx, [edx + edi]
add ebx, 0xa9c92979
add edx, 0xa9c92979
not edi
or edx, edi
sub edi, edx
lea edx, [ebx + edi*2]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x6c]
add dl, 0xcb
mov edi, dword [esi + 0x10]
mov byte [esi + edi + 0x1dc], dl
inc dword [esi + 0x10]
mov edx, dword [esi + 0x10]
cmp edx, 0x10
jb 0x428a80
lea edx, [esi + 0x1dc]
jmp case.0x4213b2.401
mov dword [esi + 0xd8], 0x8c8ff7fc
mov dword [esi + 0xdc], 0x4ce6
mov dword [esi + 0x10], 0
mov edx, dword [esi + 0x10]
cmp edx, 7
ja 0x428b44
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x10]
movzx edi, byte [esi + edi + 0xd8]
lea ebx, [edx + edi]
add ebx, 0xa4c5bd33
add edx, 0xa4c5bd33
not edi
or edx, edi
sub edi, edx
lea edx, [ebx + edi*2]
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x6c]
add dl, 0x8c
mov edi, dword [esi + 0x10]
mov byte [esi + edi + 0xd8], dl
inc dword [esi + 0x10]
mov edx, dword [esi + 0x10]
cmp edx, 8
jb 0x428b00
lea edx, [esi + 0xd8]
jmp case.0x4213b2.401
lea edx, [esi + 0x39]
mov dword [esi + 0x34], 0x6f7f7f62
mov byte [esi + 0x38], 0x83
mov byte [edx + 2], 0
mov word [edx], 0
mov dword [esi + 0x10], 0
mov edx, dword [esi + 0x10]
cmp edx, 7
ja 0x428bae
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x10]
movzx edi, byte [esi + edi + 0x34]
add edx, 0xcd6e7556
xor edx, edi
mov dword [esi + 0x6c], edx
mov edx, dword [esi + 0x6c]
add dl, 0x27
mov edi, dword [esi + 0x10]
mov byte [esi + edi + 0x34], dl
inc dword [esi + 0x10]
mov edx, dword [esi + 0x10]
cmp edx, 8
jb 0x428b80
lea edx, [esi + 0x34]
movzx ebx, byte [edx]
test bl, bl
je 0x428bcd
inc edx
mov edi, eax
nop
nop
nop
nop
nop
mov byte [edi], bl
inc edi
movzx ebx, byte [edx]
inc edx
test bl, bl
jne 0x428bc0
jmp 0x428bcf
mov edi, eax
mov byte [edi], 0
mov ecx, dword [ecx]
xor edx, edx
test ecx, ecx
setne dl
mov eax, edi
jmp dword [edx*4 + 0x447a08]
mov edx, edi
jmp dword [0x447a10]
mov ecx, dword [esi]
mov edi, ecx
mov ebx, edx
call fcn.00431d10
push edi
call fcn.00409a60
mov edx, ebx
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp dword [0x447a24]
mov dword [esi + 0x1dc], 0x8fa092cc
mov dword [esi + 0x1e0], 0x95808a7f
mov dword [esi + 0x1e4], 0xc9aa
mov byte [esi + 0x1e8], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xc
ja 0x428c88
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x9efc09f1
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xcd
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0xd
jb 0x428c50
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x428cab
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428ca0
mov byte [edx], 0
movzx eax, byte [0x449600]
test al, al
je 0x428cd1
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edx + ecx], al
movzx eax, byte [ecx + 0x449601]
inc ecx
test al, al
jne 0x428cc0
add edx, ecx
mov dword [esi + 4], edx
mov byte [edx], 0
mov dword [esi + 0xb4], 0
mov dword [esi + 0xb0], 0
push 0xd7ec7170
push dword [0x44a968]
call fcn.0043e870
add esp, 8
lea ecx, [esi + 0xb0]
push ecx
call eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [esi + 0xb4]
shld ecx, eax, 0x16
mov byte [esi + 0x1cf], 0
je 0x428d86
lea edi, [esi + 0x1cf]
cmp ecx, 0x64
jb 0x428d95
nop
nop
nop
nop
nop
mov eax, ecx
mov edx, 0x51eb851f
mul edx
shr edx, 5
mov eax, ecx
mov dword [esi], ecx
imul ecx, edx, 0x64
sub eax, ecx
mov ebx, eax
and ebx, 2
mov ecx, eax
or eax, 2
imul eax, ebx
xor ebx, 2
and ecx, 0x7d
imul ecx, ebx
movzx eax, word [ecx + eax + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
cmp dword [esi], 0x270f
mov ecx, edx
ja 0x428d30
cmp edx, 9
ja 0x428d9c
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x428dc1
lea edi, [esi + 0x1ce]
mov byte [esi + 0x1ce], 0x30
jmp 0x428dc1
mov edx, ecx
cmp edx, 9
jbe 0x428d79
mov eax, edx
and eax, 2
mov ecx, edx
or edx, 2
imul edx, eax
xor eax, 2
and ecx, 0x7d
imul ecx, eax
movzx eax, word [ecx + edx + 0x442318]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov dword [esi + 0x6c], 0x7cb1a7
mov dword [esi + 0xd8], 0
mov eax, dword [esi + 0xd8]
cmp eax, 3
mov edx, dword [esi + 4]
ja 0x428e21
mov eax, dword [esi + 0xd8]
mov ecx, dword [esi + 0xd8]
movzx ecx, byte [esi + ecx + 0x6c]
add eax, 0x23cdbfb6
xor eax, ecx
mov dword [esi + 0x1dc], eax
mov eax, dword [esi + 0x1dc]
add al, 0x3c
mov ecx, dword [esi + 0xd8]
mov byte [esi + ecx + 0x6c], al
inc dword [esi + 0xd8]
mov eax, dword [esi + 0xd8]
cmp eax, 4
jb 0x428de0
mov dword [esi + 0x1dc], 0x4e312105
mov dword [esi + 0x1e0], 0x413d4d50
mov dword [esi + 0x1e4], 0x5e729c6c
mov dword [esi + 0x1e8], 0x2607
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0xf
ja 0x428e98
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0x3eac2694
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0x79
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x10
jb 0x428e60
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x428ebb
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428eb0
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x428edb
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x428ed0
mov byte [edx], 0
movzx eax, byte [esi + 0x6c]
test al, al
je 0x428efb
lea ecx, [esi + 0x6d]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428ef0
xor eax, eax
xor ecx, ecx
mov edi, edx
cpuid
mov dword [esi + 0x1b4], ebx
mov dword [esi + 0x1b8], edx
mov edx, edi
mov byte [edi], 0
mov dword [esi + 0x1bc], ecx
mov byte [esi + 0x1c0], 0
mov dword [esi + 0x1dc], 0xff9b97b3
mov dword [esi + 0x1e0], 0xe89febed
mov dword [esi + 0x1e4], 0xb3a7aea6
mov dword [esi + 0x1e8], 0xc6e7feb7
mov word [esi + 0x1ec], 0
mov byte [esi + 0x1ee], 0
mov dword [esi + 0x34], 0
mov eax, dword [esi + 0x34]
cmp eax, 0x12
ja 0x428fa8
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x34]
mov ecx, dword [esi + 0x34]
movzx ecx, byte [esi + ecx + 0x1dc]
add eax, 0xd7805b8
xor eax, ecx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
dec al
mov ecx, dword [esi + 0x34]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x34]
mov eax, dword [esi + 0x34]
cmp eax, 0x13
jb 0x428f70
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x428fcb
lea ecx, [esi + 0x1dd]
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428fc0
mov byte [edx], 0
movzx eax, byte [esi + 0x1b4]
test al, al
je 0x428feb
lea ecx, [esi + 0x1b5]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x428fe0
mov dword [esi + 4], edx
mov byte [edx], 0
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 0x54], eax
mov dword [esi + 0x58], ebx
mov dword [esi + 0x5c], ecx
mov dword [esi + 0x60], edx
lea edx, [esi + 0x9c]
lea eax, [esi + 0x6c]
lea ebx, [esi + 0x34]
mov edi, eax
mov ecx, 0xc
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
lea ebx, [esi + 0x64]
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 + 0x447a38]
mov byte [ecx], 0
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x447a38]
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447a40]
inc eax
xor ecx, ecx
cmp byte [eax], 0x20
sete cl
jmp dword [ecx*4 + 0x447a40]
mov dword [esi + 0x1dc], 0xedd5c1a1
mov dword [esi + 0x1e0], 0xdcd11de3
mov dword [esi + 0x1e4], 0xcc30392e
mov word [esi + 0x1e8], 0x88eb
mov dword [esi + 0x1ea], 0
mov byte [esi + 0x1ee], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0x12
ja 0x42913a
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x77bae199
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0xd2
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x13
jb 0x429100
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x42915d
lea edx, [esi + 0x1dd]
mov edi, dword [esi + 4]
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429150
jmp 0x429160
mov edi, dword [esi + 4]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
mov edx, edi
je 0x42917c
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax + 1]
inc eax
test cl, cl
jne 0x429170
mov byte [edx], 0
mov dword [esi + 0xd8], 0x70605
mov byte [esi + 0xdc], 0
mov dword [esi + 0xa0], 0
mov eax, dword [esi + 0xa0]
cmp eax, 4
ja 0x4291f1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xa0]
movzx ecx, byte [esi + ecx + 0xd8]
add eax, 0xad100031
xor eax, ecx
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x10]
add al, 0xcb
mov ecx, dword [esi + 0xa0]
mov byte [esi + ecx + 0xd8], al
inc dword [esi + 0xa0]
mov eax, dword [esi + 0xa0]
cmp eax, 5
jb 0x4291b0
mov dword [esi + 4], edx
mov eax, dword [esi + 0xd8]
mov ecx, dword [0x44a974]
test ecx, ecx
je case.default.0x42924b
xor edx, edx
mov edi, dword [0x44a978]
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xcecd21fd
je 0x429220
inc edx
cmp ecx, edx
jne 0x429210
jmp case.default.0x42924b
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x42924b
lea eax, [esi + 0x1dc]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x44a97c]
push ecx
call fcn.0043d1f0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447a48]
mov dword [esi], 0
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov edx, ecx
not edx
or edx, 0xff
xor eax, eax
add edx, ecx
sete al
jmp dword [eax*4 + 0x447a50]
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov edx, ecx
not edx
or edx, 0xff
xor eax, eax
add edx, ecx
movzx ecx, byte [esi + 0x204]
mov dword [esi], ecx
sete al
jmp dword [eax*4 + 0x447a50]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x447a58]
movzx edi, byte [esi]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x429464
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x429421
mov dword [esi + 8], ebx
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, 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 + 0x447a60]
mov eax, 0xb
mov ecx, 1
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x447a68]
jmp dword [0x447a8c]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jge case.0x42924b.17
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov eax, 1
xor ecx, ecx
cpuid
mov eax, edx
xor eax, 0xefffffff
or edx, 0x10000000
test edx, eax
jmp case.0x42924b.17
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
jmp dword [0x447a94]
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jge 0x429380
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
mov ecx, edx
xor ecx, 0xefffffff
or edx, 0x10000000
test edx, ecx
je 0x4293de
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x4293de
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
jmp dword [0x447a94]
movzx edi, byte [esi]
jmp case.0x4213b2.428
xor eax, eax
mov ecx, dword [esi + 8]
test cx, cx
sete al
jmp dword [eax*4 + 0x447a80]
mov eax, edi
xor edx, edx
div cx
movzx eax, ax
jmp case.0x4213b2.428
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x429426
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x4294a3
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
mov ecx, edx
xor ecx, 0xefffffff
or edx, 0x10000000
test edx, ecx
je case.0x4213b2.428
cmp dword [esi], reloc.OLEAUT32.dll_VariantClear
jl case.0x4213b2.428
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
jmp 0x4294a0
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
mov ecx, edx
xor ecx, 0xefffffff
or edx, 0x10000000
test edx, ecx
je case.0x4213b2.428
cmp dword [esi], reloc.OLEAUT32.dll_VariantClear
jl case.0x4213b2.428
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov dword [esi], eax
mov byte [esi + 0x2f], 0
test di, di
je 0x4294f6
lea eax, [esi + 0x2f]
cmp di, 0x64
jb 0x4294ff
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 ecx, edi
imul edi, edx, 0x64
sub ecx, edi
movzx edi, cx
movzx edi, word [edi + edi + 0x442318]
mov word [eax - 2], di
add eax, 0xfffffffe
mov edi, edx
cmp ebx, 0x270f
ja 0x4294c0
jmp 0x429501
lea eax, [esi + 0x2e]
mov byte [esi + 0x2e], 0x30
jmp 0x429526
mov edx, edi
movzx edx, dx
cmp dx, 9
ja 0x429517
movzx edx, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [eax - 1], dl
dec eax
jmp 0x429526
movzx edx, word [edx + edx + 0x442318]
mov word [eax - 2], dx
add eax, 0xfffffffe
mov dword [esi + 0x1dc], 0x764c5e38
mov dword [esi + 0x1e0], 0x8b48827a
mov dword [esi + 0x1e4], 0x9c9fab9e
mov dword [esi + 0x1e8], 0x5f66ac9e
mov byte [esi + 0x1ec], 0x3e
mov dword [esi + 0x1ed], 0
mov word [esi + 0x1f1], 0
mov dword [esi + 0x10], 0
mov edx, dword [esi + 0x10]
cmp edx, 0x16
ja 0x4295ba
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esi + 0x10]
mov edi, dword [esi + 0x10]
movzx edi, byte [esi + edi + 0x1dc]
add edx, 0x793b7601
xor edx, edi
mov dword [esi + 0xd8], edx
mov edx, dword [esi + 0xd8]
add dl, 0xd1
mov edi, dword [esi + 0x10]
mov byte [esi + edi + 0x1dc], dl
inc dword [esi + 0x10]
mov edx, dword [esi + 0x10]
cmp edx, 0x17
jb 0x429580
movzx edx, byte [esi + 0x1dc]
test dl, dl
je 0x4295dd
lea edi, [esi + 0x1dd]
mov ebx, dword [esi + 4]
nop
nop
mov byte [ebx], dl
inc ebx
movzx edx, byte [edi]
inc edi
test dl, dl
jne 0x4295d0
jmp 0x4295e0
mov ebx, dword [esi + 4]
mov edi, ebx
mov byte [ebx], 0
movzx edx, byte [eax]
test dl, dl
je 0x4295fb
inc eax
nop
nop
nop
mov byte [edi], dl
inc edi
movzx edx, byte [eax]
inc eax
test dl, dl
jne 0x4295f0
mov byte [edi], 0
mov byte [esi + 0x2f], 0
mov eax, dword [esi]
test al, al
je 0x429633
movzx ecx, al
cmp al, 0x64
jb 0x42963c
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 + 0x442318]
mov word [esi + 0x2d], ax
mov edx, 0xfffffffd
jmp 0x429645
lea eax, [esi + 0x2e]
mov byte [esi + 0x2e], 0x30
jmp 0x429667
mov edx, 0xffffffff
cmp al, 9
ja 0x429658
lea eax, [esi + 0x30]
movzx ecx, byte [ecx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
add eax, edx
dec eax
mov byte [esi + edx + 0x2f], cl
jmp 0x429667
movzx ecx, word [ecx + ecx + 0x442318]
lea eax, [esi + 0x2d]
mov word [esi + 0x2d], cx
mov dword [esi + 0x1dc], 0x69495db5
mov dword [esi + 0x1e0], 0x6545097b
mov dword [esi + 0x1e4], 0x111c1210
mov word [esi + 0x1e8], 0x5c69
mov byte [esi + 0x1ea], 0xbd
mov word [esi + 0x1eb], 0
mov byte [esi + 0x1ed], 0
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0x11
ja 0x4296fa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x634866c3
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0x94
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x12
jb 0x4296c0
movzx ecx, byte [esi + 0x1dc]
test cl, cl
je 0x42971b
lea edx, [esi + 0x1dd]
nop
nop
nop
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x429710
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
mov edx, edi
je 0x42973b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x429730
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x1dc], 0xdc06fc1e
mov dword [esi + 0x1e0], 0xfb14d0d4
mov byte [esi + 0x1e4], 0xd8
mov dword [esi + 0x1e5], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0xc
ja 0x4297cf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx edx, byte [esi + ecx + 0x1dc]
lea ecx, [eax + edx]
add ecx, 0xd1c1f77a
add eax, 0xd1c1f77a
and eax, edx
mov edx, ecx
xor edx, eax
add edx, eax
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov dword [esi + 0xd8], eax
mov eax, dword [esi + 0xd8]
add al, 0xa6
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x1dc], al
inc dword [esi + 0x10]
mov eax, dword [esi + 0x10]
cmp eax, 0xd
jb 0x429780
movzx eax, byte [esi + 0x1dc]
test al, al
je 0x4297eb
lea ecx, [esi + 0x1dd]
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4297e0
mov dword [esi + 4], edi
mov byte [edi], 0
mov eax, dword [0x44965c]
mov dword [esi + 0x1dc], 0x901c9218
mov dword [esi + 0x1e0], 0x6ce16e2c
mov dword [esi + 0x1e4], 0x68a56aa2
mov dword [esi + 0x1e8], 0x64db669b
mov dword [esi + 0x1ec], 0x60d762d1
mov dword [esi + 0x1f0], 0x7e61
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0x17
ja 0x429893
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x731b2afb
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
mov edx, ecx
xor edx, 0x6e
and ecx, 0x11
add ecx, ecx
sub ecx, edx
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x18
jb 0x429850
lea ebx, [esi + 0x1dc]
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.0043c5e0
movzx eax, al
jmp dword [eax*4 + 0x447a98]
mov edi, dword [esi + 4]
mov ecx, dword [esi + 0x68]
jmp 0x429c55
lea eax, [esi + 0x1e0]
push 0x344
push 0
push eax
call fcn.00409ad0
add esp, 0xc
mov dword [esi + 0x1dc], 0x348
push 0x3733e33b
push dword [esi + 0xbc]
call fcn.0043e870
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x220]
mov ecx, dword [esi + 4]
lea edx, [ecx + 0x80]
mov dword [esi + 0x30], edx
xor edx, edx
mov edi, ecx
jmp 0x42995b
mov byte [edi], bl
mov edi, 1
add edx, edi
add eax, 2
mov ecx, dword [esi + 4]
lea edi, [ecx + edx]
cmp edx, 0x7f
jae 0x4299eb
movzx ebx, word [eax]
test bx, bx
je 0x4299eb
cmp bx, 0x7f
jbe 0x429940
mov dword [esi + 8], eax
mov ecx, edi
not ecx
add ecx, dword [esi + 0x30]
movzx eax, bx
mov dword [esi], eax
cmp ecx, 2
jb 0x4299b0
cmp dword [esi], 0x7ff
ja 0x4299b0
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 edi, 2
mov eax, dword [esi + 8]
jmp 0x429947
mov dword [esi + 0xc], edi
xor edi, edi
cmp ecx, 3
mov eax, dword [esi + 8]
jb 0x429947
mov ecx, dword [esi]
shr ecx, 0xc
or cl, 0xe0
mov edi, dword [esi + 0xc]
mov byte [edi], cl
mov ecx, dword [esi]
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 edi, 3
jmp 0x429947
mov byte [edi], 0
mov dword [esi + 0xc], edi
not edi
mov dword [esi], edi
mov eax, dword [esi + 4]
not eax
mov dword [esi + 0x30], eax
lea edi, [esi + 0xd8]
push 0xdc
push 0
push edi
call fcn.00409ad0
add esp, 0xc
mov word [esi + 0x11c], 0xdc
push 0x30be1b3b
push dword [esi + 0xbc]
call fcn.0043e870
add esp, 8
push edi
push 0xffffffffffffffff
push 0
call eax
mov ebx, dword [esi + 0x184]
mov byte [esi + 0xab], 0
test ebx, ebx
je 0x429aa2
lea ecx, [esi + 0xab]
cmp ebx, 0x64
jb 0x429ab1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
mov edx, 0x51eb851f
mul edx
shr edx, 5
imul eax, edx, 0x64
mov edi, ecx
mov ecx, ebx
sub ecx, eax
movzx eax, word [ecx + ecx + 0x442318]
mov ecx, edi
mov word [edi - 2], ax
add ecx, 0xfffffffe
cmp ebx, 0x270f
mov ebx, edx
ja 0x429a60
cmp edx, 9
ja 0x429ab8
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ecx - 1], al
dec ecx
jmp 0x429ac7
lea ecx, [esi + 0xaa]
mov byte [esi + 0xaa], 0x30
jmp 0x429ac7
mov edx, ebx
cmp edx, 9
jbe 0x429a95
movzx eax, word [edx + edx + 0x442318]
mov word [ecx - 2], ax
add ecx, 0xfffffffe
mov edi, dword [esi + 0xc]
mov edx, dword [esi + 4]
mov eax, dword [esi]
and eax, edx
and edi, dword [esi + 0x30]
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0x188]
mov byte [esi + 0x1db], 0
test edi, edi
mov dword [esi + 8], ecx
je 0x429b3e
mov dword [esi], eax
lea ebx, [esi + 0x1db]
cmp edi, 0x64
jb 0x429b50
nop
nop
nop
nop
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 + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
cmp edi, 0x270f
mov edi, edx
ja 0x429b00
cmp edx, 9
ja 0x429b57
movzx eax, byte [edx + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [ebx - 1], al
dec ebx
jmp 0x429b66
lea ebx, [esi + 0x1da]
mov byte [esi + 0x1da], 0x30
mov edi, dword [esi + 0xc]
jmp 0x429b6e
mov edx, edi
cmp edx, 9
jbe 0x429b31
movzx eax, word [edx + edx + 0x442318]
mov word [ebx - 2], ax
add ebx, 0xfffffffe
mov edx, dword [esi + 4]
mov edi, dword [esi + 0xc]
mov eax, dword [esi]
sub edi, eax
mov dword [esi + 0x10], 0x65beb0d6
mov dword [esi + 0x14], 0x8992968b
mov dword [esi + 0x18], 0x9b469c87
mov dword [esi + 0x1c], 0x819b9e8f
mov dword [esi + 0x20], 0x80859b9b
mov dword [esi + 0x24], 0x3552499e
mov dword [esi + 0x28], 0
mov dword [esi + 0x64], 0
mov eax, dword [esi + 0x64]
cmp eax, 0x1b
ja 0x429be2
mov eax, dword [esi + 0x64]
mov ecx, dword [esi + 0x64]
movzx ecx, byte [esi + ecx + 0x10]
add eax, 0xf5de17d
xor eax, ecx
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0xd4]
add al, 0x5f
mov ecx, dword [esi + 0x64]
mov byte [esi + ecx + 0x10], al
inc dword [esi + 0x64]
mov eax, dword [esi + 0x64]
cmp eax, 0x1c
jb 0x429bb0
add edx, edi
movzx eax, byte [esi + 0x10]
test al, al
je 0x429bfb
lea ecx, [esi + 0x11]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429bf0
mov byte [edx], 0
mov ecx, dword [esi + 8]
movzx eax, byte [ecx]
test al, al
je 0x429c1b
inc ecx
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x429c10
mov byte [edx], pe_nt_image_headers32
inc edx
movzx eax, byte [ebx]
test al, al
je 0x429c3b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x429c30
mov byte [edx], 0
push dword [esi + 0x9c]
mov edi, edx
call dword [0x449760]
mov ecx, dword [esi + 0x68]
lea ebx, [esi + 0x1dc]
mov byte [edi], 0
mov eax, ecx
not eax
and eax, edi
add eax, eax
mov dword [esi + 0x1dc], 0xf9fff2d9
mov dword [esi + 0x1e0], 0xe53ee2eb
mov word [esi + 0x1e4], 0xe7ea
mov byte [esi + 0x1e6], 0x14
mov dword [esi + 0x1e7], 0
mov byte [esi + 0x1eb], 0
xor edi, ecx
sub eax, edi
mov dword [esi + 0x10], 0
mov ecx, dword [esi + 0x10]
cmp ecx, 0xf
ja 0x429cea
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x10]
movzx edx, byte [esi + edx + 0x1dc]
add ecx, 0x2d6454a
xor ecx, edx
mov dword [esi + 0xd8], ecx
mov ecx, dword [esi + 0xd8]
add cl, 0xc0
mov edx, dword [esi + 0x10]
mov byte [esi + edx + 0x1dc], cl
inc dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
cmp ecx, 0x10
jb 0x429cb0
mov ecx, dword [ebp + 8]
push eax
mov edi, dword [esi + 0x68]
push edi
push ebx
call fcn.0040a3e0
jmp dword [0x447aa0]
push edi
call fcn.00409a60
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
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 eax, dword [esi + 0x15c]
mov word [eax], dx
mov eax, dword [esi + 0x2a8]
mov ecx, dword [esi + 0x2ac]
mov eax, dword [ecx + eax*4]
jmp eax
sbb dword [ebp - 0x7174b112], esp
mov esp, 0x89000000
enter 0xffffffffffffc640, 1
mov ecx, edi
add ecx, 4
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004320c0
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.004320c0
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.004320c0
add esp, 0xc
mov eax, dword [esi + 0x178]
mov ecx, dword [esi + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x310], 0
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x310]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x148]
jmp eax
sub esp, 4
mov eax, dword [esi + 0xe0]
mov dword [esp], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0xd4]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x200]
mov ecx, dword [esi + 0x204]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0xf0]
jmp eax
sub esp, 4
mov dword [esp], ecx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov eax, dword [esi + 0xd0]
mov al, byte [eax]
mov byte [esi + 0x88], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0xea
mov byte [edi], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xeb
mov byte [edi + 1], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0xec
mov byte [edi + 2], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xed
mov byte [edi + 3], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0xee
mov byte [edi + 4], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xef
mov byte [edi + 5], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0xf0
mov byte [edi + 6], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf1
mov byte [edi + 7], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xf2
mov byte [edi + 8], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf3
mov byte [edi + 9], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0xf4
mov byte [edi + 0xa], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf5
mov byte [edi + 0xb], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0xf6
mov byte [edi + 0xc], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf7
mov byte [edi + 0xd], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2a
xor eax, 0xf8
mov byte [edi + 0xe], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf9
mov byte [edi + 0xf], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0xfa
mov byte [edi + 0x10], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xfb
mov byte [edi + 0x11], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x46
xor eax, 0xfc
mov byte [edi + 0x12], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xfd
mov byte [edi + 0x13], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0xfe
mov byte [edi + 0x14], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xff
mov byte [edi + 0x15], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x100
mov byte [edi + 0x16], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x101
mov byte [edi + 0x17], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4d
xor eax, 0x102
mov byte [edi + 0x18], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x103
mov byte [edi + 0x19], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x104
mov byte [edi + 0x1a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x105
mov byte [edi + 0x1b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x106
mov byte [edi + 0x1c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x107
mov byte [edi + 0x1d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x108
mov byte [edi + 0x1e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x109
mov byte [edi + 0x1f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x10a
mov byte [edi + 0x20], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10b
mov byte [edi + 0x21], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x33
xor eax, 0x10c
mov byte [edi + 0x22], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10d
mov byte [edi + 0x23], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0x10e
mov byte [edi + 0x24], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10f
mov byte [edi + 0x25], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5f
xor eax, 0x110
mov byte [edi + 0x26], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x111
mov byte [edi + 0x27], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x112
mov byte [edi + 0x28], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x113
mov byte [edi + 0x29], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0x114
mov byte [edi + 0x2a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x115
mov byte [edi + 0x2b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x116
mov byte [edi + 0x2c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x117
mov byte [edi + 0x2d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x118
mov byte [edi + 0x2e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x119
mov byte [edi + 0x2f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x11a
mov byte [edi + 0x30], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11b
mov byte [edi + 0x31], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x11c
mov byte [edi + 0x32], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11d
mov byte [edi + 0x33], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x11e
mov byte [edi + 0x34], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11f
mov byte [edi + 0x35], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x120
mov byte [edi + 0x36], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x121
mov byte [edi + 0x37], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0x122
mov byte [edi + 0x38], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x123
mov byte [edi + 0x39], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0x124
mov byte [edi + 0x3a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x125
mov byte [edi + 0x3b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x126
mov byte [edi + 0x3c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x127
mov byte [edi + 0x3d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x128
mov byte [edi + 0x3e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x129
mov byte [edi + 0x3f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x12a
mov byte [edi + 0x40], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12b
mov byte [edi + 0x41], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x12c
mov byte [edi + 0x42], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12d
mov byte [edi + 0x43], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0x12e
mov byte [edi + 0x44], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12f
mov byte [edi + 0x45], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x130
mov byte [edi + 0x46], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x131
mov byte [edi + 0x47], al
mov eax, 0x48
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x4a
jne 0x42ad4d
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 0x4a
jae 0x42ad93
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432190
add esp, 8
mov ecx, dword [esi + 0x28]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
jmp 0x42ad60
mov eax, dword [esi + 0x1b0]
mov ecx, dword [esi + 0x1b4]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0xc]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x48]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov eax, dword [esi + 0xf4]
mov al, byte [eax]
mov byte [esi + 0xa8], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x49
xor eax, 0x3c
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3d
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x3e
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3f
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x40
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x41
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x42
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x43
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x44
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x45
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x46
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x47
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x48
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x49
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x44
xor eax, 0x4a
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4b
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x4c
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4d
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x4e
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4f
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x50
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x51
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x53
mov byte [ebx + 0x17], al
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x40]
cmp eax, 0x18
jae 0x42b132
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432250
mov ebx, dword [esi + 0x70]
add esp, 8
mov ecx, dword [esi + 0x40]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x40]
inc eax
mov dword [esi + 0x40], eax
jmp 0x42b0fc
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, 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 + 0x298], 1
mov ecx, dword [esi + 0x29c]
mov edx, dword [esi + 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
movzx eax, al
and eax, 1
mov dword [esi + 0x290], eax
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2e0]
mov ecx, dword [esi + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [esi + 0x10c], 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.00429d10
add esp, 8
mov ebx, edi
mov edi, eax
sub edi, 0xffffffff
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov edx, eax
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0x10c]
shl ecx, 1
mov dword [esi + 0x68], eax
add eax, ecx
mov dword [esi + 0x128], eax
mov ebx, edx
add ebx, edi
mov edi, edx
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x42b2a3
mov dword [esi + 0xc0], edx
call fcn.0040a1d0
call fcn.0040a1d0
mov edx, dword [esi + 0xc0]
mov dword [esi + 0x114], edi
mov edi, dword [esi + 0x128]
test edi, edi
sete al
mov ecx, dword [esi + 0x68]
sub ecx, edi
mov edi, dword [esi + 0x114]
setb cl
or al, cl
test al, 1
jne 0x42b269
jmp 0x42b2a3
mov eax, dword [esi + 0x68]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x42b2a3
add dword [esi + 0x68], 2
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.00432000
mov edx, dword [esi + 0xc0]
add esp, 0xc
add edi, eax
jmp 0x42b223
mov byte [edi], 0
mov eax, edx
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x154]
mov dword [esp], eax
mov dword [esp + 8], 2
mov ebx, edx
call fcn.004320c0
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.004320c0
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.004320c0
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.004320c0
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.004320c0
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.004320c0
add esp, 0xc
mov byte [eax], 0
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 + 0x48]
jmp eax
sub esp, 0x24
mov dword [esp + 0x20], ebx
mov edi, dword [esi + 0xf0]
mov dword [esp + 4], edi
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 + 0x388], eax
mov eax, dword [esi + 0x38c]
mov ecx, dword [esi + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x100]
mov eax, dword [eax]
mov ecx, dword [eax]
mov edx, dword [esi + 0x1d8]
mov edi, dword [esi + 0x1dc]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov dword [esp + 0x14], ebx
mov edx, dword [esi + 0xd4]
mov dword [esp + 8], edx
mov edx, dword [esi + 0xe0]
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 + 0x318], eax
mov eax, dword [esi + 0x31c]
mov ecx, dword [esi + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x328], 0
mov eax, dword [esi + 0x32c]
mov ecx, dword [esi + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
cmp eax, 0xd9cc6419
fld dword [ecx - 0x1a]
mov eax, dword [esi + 0xc8]
mov al, byte [eax]
mov byte [esi + 0x78], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0x4d
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4e
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x4f
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x50
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x51
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0x53
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5c
xor eax, 0x55
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0x57
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x58
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x49
xor eax, 0x59
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5a
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4d
xor eax, 0x5b
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5c
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x56
xor eax, 0x5d
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5e
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0x5f
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x60
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x61
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x62
mov byte [ebx + 0x15], al
mov eax, 0x16
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x42b794
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x19
jae 0x42b7da
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432150
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x42b7a7
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x230], 0
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 4]
jmp eax
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 4]
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 + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0xec]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov eax, dword [esi + 0x158]
mov al, byte [eax]
mov byte [esi + 0xa0], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xa9
mov ebx, dword [esi + 0xe8]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xaa
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0xab
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xac
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xad
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xae
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xaf
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb0
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xb1
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb2
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0xb3
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb4
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xb5
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb6
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0xb7
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb8
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0xb9
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xba
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0xbb
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xbc
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xbd
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xbe
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5a
xor eax, 0xbf
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc0
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0xc1
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc2
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0xc3
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc4
mov byte [ebx + 0x1b], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xc5
mov byte [ebx + 0x1c], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc6
mov byte [ebx + 0x1d], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc7
mov byte [ebx + 0x1e], al
sub esp, 8
mov dword [esp], 0x7f5580a9
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc8
mov byte [ebx + 0x1f], al
mov eax, 0x20
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x24
jne 0x42bd04
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x3c]
cmp eax, 0x24
jae 0x42bd50
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432220
mov ebx, dword [esi + 0xe8]
add esp, 8
mov ecx, dword [esi + 0x3c]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x3c]
inc eax
mov dword [esi + 0x3c], eax
jmp 0x42bd17
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0xec]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, 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, 2
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x2b0], eax
mov eax, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [edi], 0
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 4]
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 [edi]
test edx, edx
setne dl
and al, dl
and al, cl
mov dword [esi + 0x308], 0
mov ecx, dword [esi + 0x30c]
mov edx, dword [esi + 0x308]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ecx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0xe0], eax
mov eax, dword [esi + 0xd0]
mov al, byte [eax]
mov byte [esi + 0x8c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0xea
mov byte [edi], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xeb
mov byte [edi + 1], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0xec
mov byte [edi + 2], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xed
mov byte [edi + 3], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0xee
mov byte [edi + 4], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xef
mov byte [edi + 5], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0xf0
mov byte [edi + 6], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf1
mov byte [edi + 7], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xf2
mov byte [edi + 8], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf3
mov byte [edi + 9], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0xf4
mov byte [edi + 0xa], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf5
mov byte [edi + 0xb], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0xf6
mov byte [edi + 0xc], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf7
mov byte [edi + 0xd], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2a
xor eax, 0xf8
mov byte [edi + 0xe], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf9
mov byte [edi + 0xf], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0xfa
mov byte [edi + 0x10], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xfb
mov byte [edi + 0x11], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x46
xor eax, 0xfc
mov byte [edi + 0x12], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xfd
mov byte [edi + 0x13], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0xfe
mov byte [edi + 0x14], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xff
mov byte [edi + 0x15], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x100
mov byte [edi + 0x16], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x101
mov byte [edi + 0x17], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4d
xor eax, 0x102
mov byte [edi + 0x18], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x103
mov byte [edi + 0x19], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x104
mov byte [edi + 0x1a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x105
mov byte [edi + 0x1b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x106
mov byte [edi + 0x1c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x107
mov byte [edi + 0x1d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x108
mov byte [edi + 0x1e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x109
mov byte [edi + 0x1f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x10a
mov byte [edi + 0x20], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10b
mov byte [edi + 0x21], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x33
xor eax, 0x10c
mov byte [edi + 0x22], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10d
mov byte [edi + 0x23], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0x10e
mov byte [edi + 0x24], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x10f
mov byte [edi + 0x25], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5f
xor eax, 0x110
mov byte [edi + 0x26], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x111
mov byte [edi + 0x27], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x112
mov byte [edi + 0x28], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x113
mov byte [edi + 0x29], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0x114
mov byte [edi + 0x2a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x115
mov byte [edi + 0x2b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x116
mov byte [edi + 0x2c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x117
mov byte [edi + 0x2d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x118
mov byte [edi + 0x2e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x119
mov byte [edi + 0x2f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x11a
mov byte [edi + 0x30], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11b
mov byte [edi + 0x31], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x11c
mov byte [edi + 0x32], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11d
mov byte [edi + 0x33], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x11e
mov byte [edi + 0x34], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11f
mov byte [edi + 0x35], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x120
mov byte [edi + 0x36], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x121
mov byte [edi + 0x37], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0x122
mov byte [edi + 0x38], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x123
mov byte [edi + 0x39], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0x124
mov byte [edi + 0x3a], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x125
mov byte [edi + 0x3b], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x126
mov byte [edi + 0x3c], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x127
mov byte [edi + 0x3d], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x128
mov byte [edi + 0x3e], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x129
mov byte [edi + 0x3f], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x12a
mov byte [edi + 0x40], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12b
mov byte [edi + 0x41], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x12c
mov byte [edi + 0x42], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12d
mov byte [edi + 0x43], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0x12e
mov byte [edi + 0x44], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x12f
mov byte [edi + 0x45], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x130
mov byte [edi + 0x46], al
sub esp, 8
mov dword [esp], 0xcfcdc6ea
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x131
mov byte [edi + 0x47], al
mov eax, 0x48
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x4a
jne 0x42c860
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x4a
jae 0x42c8a6
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432190
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x42c873
mov dword [esi + 0x358], 1
mov eax, dword [esi + 0x35c]
mov ecx, dword [esi + 0x358]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0xc]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x258], 0
add byte [eax], al
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
sbb al, 0xa7
inc esp
jecxz 0x42c8d1
mov bh, 0xd3
jnp 0x446977
add byte [ebx + 0x1a48e], cl
add byte [ebx - 0x1f007efc], cl
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x23c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 8]
jmp eax
mov eax, dword [esi + 0xc8]
mov al, byte [eax]
mov byte [esi + 0x7c], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0x4d
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4e
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x4f
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x50
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x51
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0x53
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5c
xor eax, 0x55
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0x57
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x58
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x49
xor eax, 0x59
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5a
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4d
xor eax, 0x5b
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5c
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x56
xor eax, 0x5d
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5e
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0x5f
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x60
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x61
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x2cb0be4d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x62
mov byte [ebx + 0x15], al
mov eax, 0x16
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x42cc0f
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x19
jae 0x42cc55
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432150
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x42cc22
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edi, eax
mov eax, dword [esi + 0x100]
mov eax, dword [eax]
mov dword [esi + 0x3a0], 1
mov ecx, dword [esi + 0x3a4]
mov edx, dword [esi + 0x3a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + 0x20c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
xor dl, cl
cli
invalid
mov dword [esi + 0x248], 0
mov eax, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
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 dword [esi + 0x228], 0
mov eax, dword [esi + 0x22c]
mov ecx, dword [esi + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [esi + 0xbc]
mov eax, ecx
inc eax
mov byte [ecx], 0x2e
mov ecx, edi
add ecx, 4
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004320c0
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.004320c0
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.004320c0
add esp, 0xc
mov ebx, eax
mov dword [esi + 0x268], 0
mov eax, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, ebx
inc eax
mov byte [ebx], 0x3a
mov ecx, edi
add ecx, 0xa
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004320c0
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.004320c0
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x250], 1
mov eax, dword [esi + 0x254]
mov ecx, dword [esi + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
jb 0x42d1a7
add eax, 0x83e08950
in al, dx
sbb al, 0x50
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, 0x10
push eax
sub esp, 0xc
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, 0x14
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], 0x4429c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x4429d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x74]
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 + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
push eax
mov ecx, esp
sub esp, 0x1c
mov ebx, esp
push eax
mov dword [esi + 0xc8], esp
push eax
mov dword [esi + 0x74], esp
sub esp, 0xc
mov dword [esi + 0xc], esp
push eax
mov dword [esi + 0xcc], esp
sub esp, 0x4c
mov dword [esi + 0x140], esp
push eax
mov dword [esi + 0xd0], esp
push eax
mov dword [esi + 0xfc], esp
push eax
mov dword [esi + 4], esp
push eax
mov dword [esi + 0x148], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x10], eax
mov esp, eax
push eax
sub esp, 0x10
mov dword [esi + 0x14c], esp
push eax
mov dword [esi + 0x144], esp
sub esp, 0xc
mov dword [esi + 0xdc], esp
push eax
mov dword [esi + 0xd8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x48], eax
mov esp, eax
push eax
sub esp, 0x1c
mov dword [esi + 0xe4], esp
push eax
mov dword [esi + 0x150], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xec], eax
mov esp, eax
push eax
sub esp, 0x20
mov dword [esi + 0xe8], esp
push eax
mov dword [esi + 0x158], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 8], eax
mov esp, eax
push eax
sub esp, 0x14
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0xf4], 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 + 0x4c], eax
mov dword [edx + 0x10], 0
mov eax, edx
add eax, 0x14
mov dword [esi + 0x154], eax
mov byte [edx + 0x14], 0
mov eax, edx
add eax, 0x28
mov dword [esi + 0x15c], eax
mov word [edx + 0x28], 0
mov eax, edx
add eax, 0x2a
mov dword [esi + 0xf8], eax
mov byte [edx + 0x2a], 0
mov dword [ecx], 0
sub esp, 0x14
mov dword [esi + 0x100], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0x4429c0
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x4429d0
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x3b8], 0
mov edx, dword [esi + 0x3bc]
mov edi, dword [esi + 0x3b8]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040a1d0
mov dword [esi + 0x360], 1
mov eax, dword [esi + 0x364]
mov ecx, dword [esi + 0x360]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0xc]
mov ebx, dword [esi + 0xfc]
jmp eax
sub esp, 4
mov dword [esp], ebx
call fcn.00409a60
add esp, 4
mov eax, dword [esi + 0x2c8]
mov ecx, dword [esi + 0x2cc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
sub dword ds:[ecx + 0x4ec8385], eax
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
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 + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xfc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x218]
mov edx, dword [esi + 0x21c]
mov ecx, dword [edx + ecx*4]
jmp ecx
sub esp, 4
mov eax, dword [esi + 0x48]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov edi, dword [eax]
mov eax, dword [esi + 0xf4]
mov al, byte [eax]
mov byte [esi + 0xa4], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x49
xor eax, 0x3c
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3d
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x3e
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3f
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x40
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x41
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x42
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x43
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x44
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x45
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x46
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x47
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x48
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x49
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x44
xor eax, 0x4a
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4b
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x4c
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4d
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x4e
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4f
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x50
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x51
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x1748293c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x53
mov byte [ebx + 0x17], al
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x44]
cmp eax, 0x18
jae 0x42d83d
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432250
mov ebx, dword [esi + 0x70]
add esp, 8
mov ecx, dword [esi + 0x44]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x44]
inc eax
mov dword [esi + 0x44], eax
jmp 0x42d807
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 8]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x320]
mov ecx, dword [esi + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0xf0], edi
mov ecx, dword [esi + 0x398]
mov edx, dword [esi + 0x39c]
mov ecx, dword [edx + ecx*4]
jmp ecx
sub esp, 4
mov dword [esp], edi
call fcn.00409a60
add esp, 4
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
mov esi, 0x5e017ef0
inc ebp
or al, 0x79
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x3a8], 1
mov eax, dword [esi + 0x3ac]
mov ecx, dword [esi + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0x48]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov edi, dword [edi]
mov eax, dword [esi + 0x150]
mov al, byte [eax]
mov byte [esi + 0x9c], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0x7e
mov ebx, dword [esi + 0xe4]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7f
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x80
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x81
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0x82
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x83
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x84
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x85
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x86
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x87
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x44
xor eax, 0x88
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x89
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x8a
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8b
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x8c
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8d
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x8e
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8f
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0x90
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x91
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x92
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x93
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0x94
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x95
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x96
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x97
mov byte [ebx + 0x19], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x98
mov byte [ebx + 0x1a], al
sub esp, 8
mov dword [esp], 0x5ccbeb7e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x99
mov byte [ebx + 0x1b], al
mov eax, 0x1c
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x1e
jne 0x42dd20
mov dword [esi + 0x38], 0
mov eax, dword [esi + 0x38]
cmp eax, 0x1e
jae 0x42dd6c
mov eax, dword [esi + 0x38]
mov ecx, dword [esi + 0x38]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432200
mov ebx, dword [esi + 0xe4]
add esp, 8
mov ecx, dword [esi + 0x38]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x38]
inc eax
mov dword [esi + 0x38], eax
jmp 0x42dd33
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x48]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, 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
movzx eax, al
mov dword [esi + 0x2d8], eax
mov eax, dword [esi + 0x2dc]
mov ecx, dword [esi + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xd4], eax
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 4]
mov eax, dword [eax]
mov dword [esi + 0x138], eax
mov eax, dword [esi + 0x144]
mov al, byte [eax]
mov byte [esi + 0x90], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xcf
mov edi, dword [esi + 0x14c]
mov byte [edi], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd0
mov byte [edi + 1], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0xd1
mov byte [edi + 2], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd2
mov byte [edi + 3], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0xd3
mov byte [edi + 4], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd4
mov byte [edi + 5], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xd5
mov byte [edi + 6], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd6
mov byte [edi + 7], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0xd7
mov byte [edi + 8], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd8
mov byte [edi + 9], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0xd9
mov byte [edi + 0xa], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xda
mov byte [edi + 0xb], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0xdb
mov byte [edi + 0xc], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdc
mov byte [edi + 0xd], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdd
mov byte [edi + 0xe], al
sub esp, 8
mov dword [esp], 0x7546d4cf
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xde
mov byte [edi + 0xf], al
mov eax, 0x10
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x11
jne 0x42e047
mov dword [esi + 0x2c], 0
mov eax, dword [esi + 0x2c]
cmp eax, 0x11
jae 0x42e08d
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004321b0
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 0x42e05a
mov edx, dword [esi + 0x138]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, edi
mov edi, dword [esi + 0x10]
mov dword [esp + 0xc], edi
mov dword [esp + 4], ecx
mov dword [esp], edx
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
movzx eax, al
mov dword [esi + 0x2f8], eax
mov eax, dword [esi + 0x2fc]
mov ecx, dword [esi + 0x2f8]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x270], 0
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xc4]
mov dword [esi + 0xbc], ebx
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x3b0], ecx
mov eax, dword [esi + 0x3b4]
mov ecx, dword [esi + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x288], 0
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xcc]
mov al, byte [eax]
mov byte [esi + 0x84], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x4f
mov ebx, dword [esi + 0xc]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x50
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x51
xor eax, 0x51
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0x53
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x55
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [ebx + 7], al
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xb
jne 0x42e279
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0xb
jae 0x42e2c2
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432170
mov ebx, dword [esi + 0xc]
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x42e28c
mov dword [esi + 0x370], 1
mov eax, dword [esi + 0x374]
mov ecx, dword [esi + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [0x868a0ca]
mov ah, 0xf8
sub cl, byte [ebx + 0x16086]
add byte [ebx + 0x1648e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0040a1d0
mov dword [esi + 0x378], 1
mov eax, dword [esi + 0x37c]
mov ecx, dword [esi + 0x378]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x140]
jmp eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x260]
mov ecx, dword [esi + 0x264]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x1f0], 1
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x348], 0
mov eax, dword [esi + 0x34c]
mov ecx, dword [esi + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xcc]
mov al, byte [eax]
mov byte [esi + 0x80], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x4f
mov ebx, dword [esi + 0xc]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x50
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x51
xor eax, 0x51
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0x53
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x55
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x995ce4f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [ebx + 7], al
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xb
jne 0x42e4a9
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0xb
jae 0x42e4f2
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432170
mov ebx, dword [esi + 0xc]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x42e4bc
mov eax, dword [esi + 0x1b8]
mov ecx, dword [esi + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x4c]
cmp dword [eax], 0
setne al
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebx]
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 + 0x380], eax
mov eax, dword [esi + 0x384]
mov ecx, dword [esi + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x300], eax
mov eax, dword [esi + 0x304]
mov ecx, dword [esi + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
neg byte [0xd8892161]
inc eax
mov byte [ebx], 0x3a
mov ecx, edi
add ecx, 0xa
sub esp, 0xc
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004320c0
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.004320c0
add esp, 0xc
mov byte [eax], 0
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
mov ebx, eax
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov dword [esi + 0x340], 1
mov edx, dword [esi + 0x344]
mov ecx, dword [esi + 0x340]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x368]
mov ecx, dword [esi + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x2a0], 1
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x70]
mov edi, dword [esi + 8]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
mov eax, dword [edi + 8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429d10
add esp, 8
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 8]
shl ebx, 1
mov edx, ecx
add edx, ebx
mov dword [esi + 0x124], edx
mov ebx, eax
add ebx, edi
mov dword [esi + 0xc4], eax
mov edi, eax
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x42e766
mov dword [esi + 0x60], ecx
call fcn.0040a1d0
call fcn.0040a1d0
mov edx, dword [esi + 0x60]
mov dword [esi + 0x110], edi
mov edi, dword [esi + 0x124]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0x110]
setb cl
or al, cl
test al, 1
jne 0x42e730
jmp 0x42e766
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x42e766
add edx, 2
mov dword [esi + 0x60], 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.00432000
mov ecx, dword [esi + 0x60]
add esp, 0xc
add edi, eax
jmp 0x42e6f1
mov byte [edi], 0
mov eax, dword [esi + 0xc4]
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.004320c0
add esp, 0xc
mov dword [esi + 0x280], 1
mov edx, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov ecx, dword [edx + ecx*4]
mov edi, dword [esi + 8]
jmp ecx
cmp ch, 0x45
mov dl, 0x46
retf
call fcn.0040a1d0
mov dword [esi + 0x2f0], 1
mov eax, dword [esi + 0x2f4]
mov ecx, dword [esi + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [eax]
mov ecx, dword [ecx + 0xc]
mov edx, dword [esi + 0x390]
mov edi, dword [esi + 0x394]
mov edx, dword [edi + edx*4]
mov ebx, dword [esi + 0x74]
jmp edx
mov ebx, dword [esi + 0x10]
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.00429d10
add esp, 8
mov ebx, eax
mov dword [esi + 0x134], ebx
add ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.00409a50
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x4c]
mov dword [eax], edx
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
shl edi, 1
mov dword [esi + 0x58], eax
add eax, edi
mov dword [esi + 0x12c], eax
mov edi, edx
add edi, ebx
mov eax, edi
add eax, 0xffffffff
cmp edx, eax
jae 0x42e9e3
mov dword [esi + 0xb0], edx
call fcn.0040a1d0
call fcn.0040a1d0
mov edx, dword [esi + 0xb0]
mov ebx, dword [esi + 0x12c]
test ebx, ebx
sete al
mov ecx, dword [esi + 0x58]
sub ecx, ebx
setb cl
or al, cl
test al, 1
jne 0x42e9a9
jmp 0x42e9e3
mov eax, dword [esi + 0x58]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x42e9e3
add dword [esi + 0x58], 2
mov ecx, edx
xor ecx, 0xffffffff
add ecx, edi
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432000
mov edx, dword [esi + 0xb0]
add esp, 0xc
add edx, eax
jmp 0x42e96f
mov byte [edx], 0
mov eax, dword [esi + 0xd8]
mov al, byte [eax]
mov byte [esi + 0x98], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x46
mov ebx, dword [esi + 0xdc]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x47
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x48
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0x49
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x4a
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x77
xor eax, 0x4b
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x4c
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x8d80bd46
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4d
mov byte [ebx + 7], al
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 9
jne 0x42eb13
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 9
jae 0x42eb59
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.004321e0
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 0x42eb26
mov edi, dword [esi + 0x4c]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00419b80
add esp, 8
mov edx, dword [edi]
mov edi, edx
sub edi, eax
mov ebx, dword [esi + 0x134]
lea ecx, [ebx + edi]
lea edi, [ebx + edi + 1]
mov dword [esi + 0x54], edi
seta bl
lea edi, [eax + ecx + 1]
sub edi, edx
seta bh
and bl, bh
test bl, 1
jne 0x42ebf4
mov ecx, dword [esi + 0x54]
shr ecx, 2
mov edi, edx
mov ebx, eax
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov edi, dword [esi + 0x54]
mov ecx, edi
and ecx, 0xfffffffc
add edx, ecx
add eax, ecx
mov ecx, edi
shr ecx, 1
and ecx, 1
mov edi, edx
mov ebx, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov edi, dword [esi + 0x54]
mov ecx, edi
and ecx, 2
add edx, ecx
add eax, ecx
and edi, 1
mov ebx, edi
cmp ebx, 0
je 0x42ec1c
add ebx, 0xffffffff
mov ecx, eax
add ecx, 1
mov al, byte [eax]
mov edi, edx
add edi, 1
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x42ebd8
add edx, ecx
add eax, ecx
mov ebx, dword [esi + 0x54]
cmp ebx, 0
je 0x42ec17
add ebx, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov edi, edx
add edi, 0xffffffff
mov byte [edx], al
mov edx, edi
mov eax, ecx
jmp 0x42ebfb
mov edi, dword [esi + 4]
jmp 0x42ec21
mov edi, dword [esi + 4]
jmp 0x42ec21
mov dword [esi + 0x2e8], 0
mov eax, dword [esi + 0x2ec]
mov ecx, dword [esi + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x330], 1
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x330]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x74]
jmp eax
mov edx, edi
add edx, 8
mov ecx, 1
mov eax, edx
mov ebx, dword [esi + 0xf8]
mov edi, ebx
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, ebx
add eax, 4
add edx, 4
mov ebx, edx
mov edi, eax
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
mov edi, ecx
add ecx, 0xffffffff
cmp edi, 0
je 0x42efd3
mov bl, byte [edx]
mov byte [eax], bl
add eax, 1
add edx, 1
jmp 0x42efbd
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
and eax, 0x6e40cbc5
das
jmp 0x30c97b71
call fcn.0040a1d0
mov dword [esi + 0x268], 0
mov eax, dword [esi + 0x26c]
mov ecx, dword [esi + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x188], 1
mov eax, dword [esi + 0x18c]
mov ecx, dword [esi + 0x188]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x74]
jmp eax
mov ecx, dword [esi + 0x198]
mov edx, dword [esi + 0x19c]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x238]
mov ecx, dword [esi + 0x23c]
mov eax, dword [ecx + eax*4]
mov dword [esi + 0x38], 0
jmp eax
mov edi, dword [esi + 0x11c]
mov dword [edi], 0
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
mov edx, dword [esi + 0x5c]
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 [edi]
test edx, edx
sete dl
or al, dl
or al, cl
movzx eax, al
mov dword [esi + 0x230], eax
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ebx, eax
mov eax, dword [edi + 8]
mov ecx, ebx
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00429d10
add esp, 8
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x108]
mov dword [eax], edx
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 8]
shl ebx, 1
mov dword [esi + 0x6c], eax
add eax, ebx
mov dword [esi + 0x100], eax
mov ebx, edx
add ebx, edi
mov eax, ebx
add eax, 0xffffffff
cmp edx, eax
jae 0x42f1c6
mov dword [esi + 0xec], edx
call fcn.0040a1d0
call fcn.0040a1d0
mov edx, dword [esi + 0xec]
mov edi, dword [esi + 0x100]
test edi, edi
sete al
mov ecx, dword [esi + 0x6c]
sub ecx, edi
setb cl
or al, cl
test al, 1
jne 0x42f18c
jmp 0x42f1c6
mov eax, dword [esi + 0x6c]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x42f1c6
add dword [esi + 0x6c], 2
mov ecx, edx
xor ecx, 0xffffffff
add ecx, ebx
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00432000
mov edx, dword [esi + 0xec]
add esp, 0xc
add edx, eax
jmp 0x42f152
mov byte [edx], 0
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x68]
jmp eax
mov eax, dword [esi + 0x178]
mov ecx, dword [esi + 0x17c]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0xf0]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x270], ecx
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x38], 0
jmp eax
mov al, byte [esi + 4]
mov byte [esi + 0x8c], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0xd0
mov byte [esi + 8], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd1
mov byte [esi + 9], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0xd2
mov byte [esi + 0xa], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd3
mov byte [esi + 0xb], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0xd4
mov byte [esi + 0xc], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd5
mov byte [esi + 0xd], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0xd6
mov byte [esi + 0xe], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd7
mov byte [esi + 0xf], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5c
xor eax, 0xd8
mov byte [esi + 0x10], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd9
mov byte [esi + 0x11], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0xda
mov byte [esi + 0x12], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdb
mov byte [esi + 0x13], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xdc
mov byte [esi + 0x14], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdd
mov byte [esi + 0x15], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0xde
mov byte [esi + 0x16], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdf
mov byte [esi + 0x17], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0xe0
mov byte [esi + 0x18], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe1
mov byte [esi + 0x19], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xe2
mov byte [esi + 0x1a], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe3
mov byte [esi + 0x1b], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0xe4
mov byte [esi + 0x1c], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe5
mov byte [esi + 0x1d], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xe6
mov byte [esi + 0x1e], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe7
mov byte [esi + 0x1f], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0xe8
mov byte [esi + 0x20], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe9
mov byte [esi + 0x21], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xea
mov byte [esi + 0x22], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xeb
mov byte [esi + 0x23], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xec
mov byte [esi + 0x24], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xed
mov byte [esi + 0x25], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0xee
mov byte [esi + 0x26], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xef
mov byte [esi + 0x27], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xf0
mov byte [esi + 0x28], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf1
mov byte [esi + 0x29], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xf2
mov byte [esi + 0x2a], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf3
mov byte [esi + 0x2b], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xf4
mov byte [esi + 0x2c], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf5
mov byte [esi + 0x2d], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0xf6
mov byte [esi + 0x2e], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf7
mov byte [esi + 0x2f], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf8
mov byte [esi + 0x30], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf9
mov byte [esi + 0x31], al
mov eax, 0x2a
mov byte [esi + eax + 8], 0
add eax, 1
cmp eax, 0x2f
jne 0x42f7f5
mov dword [esi + 0x40], 0
mov eax, dword [esi + 0x40]
cmp eax, 0x2f
jae 0x42f83e
mov eax, dword [esi + 0x40]
mov ecx, dword [esi + 0x40]
movzx ecx, byte [esi + ecx + 8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432270
add esp, 8
mov ecx, dword [esi + 0x40]
mov byte [esi + ecx + 8], al
mov eax, dword [esi + 0x40]
inc eax
mov dword [esi + 0x40], eax
jmp 0x42f809
sub esp, 4
lea eax, [esi + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, dword [esi + 0x64]
mov ecx, dword [edx]
mov ecx, dword [ecx + 0xc]
sub esp, 0x24
lea edi, [esi + 0x60]
mov dword [esp + 0x20], edi
mov dword [esp + 4], eax
mov dword [esp], edx
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
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [esi + 0x60]
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
mov dword [esi + 0x260], 1
mov ecx, dword [esi + 0x264]
mov edx, dword [esi + 0x260]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a1d0
mov dword [esi + 0x160], 1
mov eax, dword [esi + 0x164]
mov ecx, dword [esi + 0x160]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x114]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x210], 1
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x70]
jmp eax
sub esp, 4
mov dword [esp], edi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0x110]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x158], 0
mov eax, dword [esi + 0x15c]
mov ecx, dword [esi + 0x158]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
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 + 0x180], 1
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esi + 0x280], 0
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x58], edi
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.00409a50
add esp, 4
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esi + 0x104], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esi + 0x108], ecx
mov dword [esi + 0x10c], eax
mov dword [eax + 8], 0
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x5c]
mov edi, dword [eax]
mov eax, dword [esi + 0xfc]
mov al, byte [eax]
mov byte [esi + 0xa0], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0x9e
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9f
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xa0
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa1
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0xa2
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa3
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0xa4
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa5
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0xa6
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa7
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0xa8
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa9
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xaa
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xab
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0xac
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xad
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xae
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xaf
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0xb0
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb1
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xb2
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb3
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xb4
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb5
mov byte [ebx + 0x17], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb6
mov byte [ebx + 0x18], al
sub esp, 8
mov dword [esp], 0x6984c29e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb7
mov byte [ebx + 0x19], al
mov eax, 0x1a
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x1e
jne 0x42ff58
mov dword [esi + 0x4c], 0
mov eax, dword [esi + 0x4c]
cmp eax, 0x1e
jae 0x42ffa1
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004322d0
mov ebx, dword [esi + 0x70]
add esp, 8
mov ecx, dword [esi + 0x4c]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x4c]
inc eax
mov dword [esi + 0x4c], eax
jmp 0x42ff6b
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x58]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov edi, 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, 3
sete cl
and al, cl
mov dword [esi + 0x208], 1
mov ecx, dword [esi + 0x20c]
mov edx, dword [esi + 0x208]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x38], ecx
jmp eax
mov al, byte [esi + 0x7c]
mov byte [esi + 0x94], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x53
mov byte [esi + 0x80], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [esi + 0x81], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x51
xor eax, 0x55
mov byte [esi + 0x82], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [esi + 0x83], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0x57
mov byte [esi + 0x84], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x58
mov byte [esi + 0x85], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x59
mov byte [esi + 0x86], al
sub esp, 8
mov dword [esp], 0xbb420853
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5a
mov byte [esi + 0x87], al
mov eax, 8
mov byte [esi + eax + 0x80], 0
add eax, 1
cmp eax, 0xa
jne 0x43016b
mov dword [esi + 0x44], 0
mov eax, dword [esi + 0x44]
cmp eax, 0xa
jae 0x4301bd
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x44]
movzx ecx, byte [esi + ecx + 0x80]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432290
add esp, 8
mov ecx, dword [esi + 0x44]
mov byte [esi + ecx + 0x80], al
mov eax, dword [esi + 0x44]
inc eax
mov dword [esi + 0x44], eax
jmp 0x430182
lea eax, [esi + 0x80]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0xf0], eax
mov al, byte [esi + 0x78]
mov byte [esi + 0x98], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0x5f
mov byte [esi + 0xa8], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x60
mov byte [esi + 0xa9], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0x61
mov byte [esi + 0xaa], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x62
mov byte [esi + 0xab], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4c
xor eax, 0x63
mov byte [esi + 0xac], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x64
mov byte [esi + 0xad], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x45
xor eax, 0x65
mov byte [esi + 0xae], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x66
mov byte [esi + 0xaf], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0x67
mov byte [esi + 0xb0], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x68
mov byte [esi + 0xb1], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0x69
mov byte [esi + 0xb2], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6a
mov byte [esi + 0xb3], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x6b
mov byte [esi + 0xb4], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6c
mov byte [esi + 0xb5], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2a
xor eax, 0x6d
mov byte [esi + 0xb6], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6e
mov byte [esi + 0xb7], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x6f
mov byte [esi + 0xb8], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x70
mov byte [esi + 0xb9], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x46
xor eax, 0x71
mov byte [esi + 0xba], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x72
mov byte [esi + 0xbb], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0x73
mov byte [esi + 0xbc], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x74
mov byte [esi + 0xbd], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0x75
mov byte [esi + 0xbe], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x76
mov byte [esi + 0xbf], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4d
xor eax, 0x77
mov byte [esi + 0xc0], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x78
mov byte [esi + 0xc1], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x79
mov byte [esi + 0xc2], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7a
mov byte [esi + 0xc3], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x41
xor eax, 0x7b
mov byte [esi + 0xc4], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7c
mov byte [esi + 0xc5], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x7d
mov byte [esi + 0xc6], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7e
mov byte [esi + 0xc7], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x7f
mov byte [esi + 0xc8], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x80
mov byte [esi + 0xc9], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x81
mov byte [esi + 0xca], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x82
mov byte [esi + 0xcb], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x56
xor eax, 0x83
mov byte [esi + 0xcc], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x84
mov byte [esi + 0xcd], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x85
mov byte [esi + 0xce], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x86
mov byte [esi + 0xcf], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x87
mov byte [esi + 0xd0], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x88
mov byte [esi + 0xd1], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0x89
mov byte [esi + 0xd2], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8a
mov byte [esi + 0xd3], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x8b
mov byte [esi + 0xd4], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8c
mov byte [esi + 0xd5], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x50
xor eax, 0x8d
mov byte [esi + 0xd6], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8e
mov byte [esi + 0xd7], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x8f
mov byte [esi + 0xd8], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x90
mov byte [esi + 0xd9], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x91
mov byte [esi + 0xda], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x92
mov byte [esi + 0xdb], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0x93
mov byte [esi + 0xdc], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x94
mov byte [esi + 0xdd], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0x95
mov byte [esi + 0xde], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x96
mov byte [esi + 0xdf], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0x97
mov byte [esi + 0xe0], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x98
mov byte [esi + 0xe1], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x99
mov byte [esi + 0xe2], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9a
mov byte [esi + 0xe3], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9b
mov byte [esi + 0xe4], al
sub esp, 8
mov dword [esp], 0xaedd885f
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9c
mov byte [esi + 0xe5], al
mov eax, 0x3e
mov byte [esi + eax + 0xa8], 0
add eax, 1
cmp eax, 0x42
jne 0x430af1
mov dword [esi + 0x48], 0
mov eax, dword [esi + 0x48]
cmp eax, 0x42
jae 0x430b43
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x48]
movzx ecx, byte [esi + ecx + 0xa8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.004322b0
add esp, 8
mov ecx, dword [esi + 0x48]
mov byte [esi + ecx + 0xa8], al
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
jmp 0x430b08
mov dword [esi + 0xfc], ebx
sub esp, 4
lea eax, [esi + 0xa8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ebx, dword [esi + 0x60]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edx, dword [esi + 0x74]
mov dword [esp + 0x14], edx
mov dword [esi + 0x110], eax
mov dword [esp + 8], eax
mov edi, dword [esi + 0xf0]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x240], eax
mov eax, dword [esi + 0x244]
mov ecx, dword [esi + 0x240]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x38], 0
jmp eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov ecx, dword [ecx + eax*4]
xor eax, eax
mov edi, dword [esi + 0x58]
jmp ecx
mov eax, dword [esi + 0x5c]
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 + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esi + 0x1d8]
mov ecx, dword [esi + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [eax + edx*2 + 0x4ec83a9], ch
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x64]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
js 0x430c3b
jecxz 0x430cde
invalid
xchg ebx, eax
invalid
mov eax, dword [esi + 0x60]
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
mov eax, dword [esi + 0x140]
mov ecx, dword [esi + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x150]
mov ecx, dword [esi + 0x154]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esi + 0x38]
jmp ecx
mov eax, dword [esi + 0x60]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x22c]
mov ecx, dword [ecx + eax*4]
mov eax, 3
mov edi, dword [esi + 0x58]
jmp ecx
mov ecx, dword [esi + 0x258]
mov edx, dword [esi + 0x25c]
mov ecx, dword [edx + ecx*4]
jmp ecx
ffree st(0)
and bl, bl
jbe 0x4311f4
cli
aas
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 + 0x128]
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi + 0x68]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0x5c]
mov edi, dword [eax]
mov eax, dword [esi + 0x118]
mov al, byte [eax]
mov byte [esi + 0xa4], al
sub esp, 8
mov dword [esp], 0xd637ecb6
add byte [eax + 0xa486], cl
add byte [ebx + 0x4c708ec], al
and al, 0xb6
in al, dx
aaa
salc
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0xb6
mov ebx, dword [esi + 0xf4]
mov byte [ebx], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb7
mov byte [ebx + 1], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0xb8
mov byte [ebx + 2], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb9
mov byte [ebx + 3], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0xba
mov byte [ebx + 4], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xbb
mov byte [ebx + 5], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0xbc
mov byte [ebx + 6], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xbd
mov byte [ebx + 7], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0xbe
mov byte [ebx + 8], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xbf
mov byte [ebx + 9], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0xc0
mov byte [ebx + 0xa], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc1
mov byte [ebx + 0xb], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0xc2
mov byte [ebx + 0xc], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc3
mov byte [ebx + 0xd], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4e
xor eax, 0xc4
mov byte [ebx + 0xe], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc5
mov byte [ebx + 0xf], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0xc6
mov byte [ebx + 0x10], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc7
mov byte [ebx + 0x11], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0xc8
mov byte [ebx + 0x12], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xc9
mov byte [ebx + 0x13], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xca
mov byte [ebx + 0x14], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xcb
mov byte [ebx + 0x15], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xcc
mov byte [ebx + 0x16], al
sub esp, 8
mov dword [esp], 0xd637ecb6
mov dword [esp + 4], 5
call fcn.0041a050
mov edx, ebx
add esp, 8
xor eax, 0xcd
mov byte [edx + 0x17], al
mov eax, 0x18
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x1a
jne 0x431558
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x54]
cmp eax, 0x1a
jae 0x4315a4
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x54]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432300
mov edx, dword [esi + 0xf4]
add esp, 8
mov ecx, dword [esi + 0x54]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x54]
inc eax
mov dword [esi + 0x54], eax
jmp 0x43156b
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x68]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp], edi
mov edi, 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
movzx eax, al
mov dword [esi + 0x1d0], eax
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 4]
mov byte [esi + 0x90], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x52
xor eax, 0xd0
mov byte [esi + 8], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd1
mov byte [esi + 9], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0xd2
mov byte [esi + 0xa], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd3
mov byte [esi + 0xb], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x4f
xor eax, 0xd4
mov byte [esi + 0xc], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd5
mov byte [esi + 0xd], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
xor eax, 0xd6
mov byte [esi + 0xe], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd7
mov byte [esi + 0xf], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x5c
xor eax, 0xd8
mov byte [esi + 0x10], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd9
mov byte [esi + 0x11], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x53
xor eax, 0xda
mov byte [esi + 0x12], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdb
mov byte [esi + 0x13], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xdc
mov byte [esi + 0x14], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdd
mov byte [esi + 0x15], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0xde
mov byte [esi + 0x16], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xdf
mov byte [esi + 0x17], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0xe0
mov byte [esi + 0x18], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe1
mov byte [esi + 0x19], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xe2
mov byte [esi + 0x1a], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe3
mov byte [esi + 0x1b], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0xe4
mov byte [esi + 0x1c], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe5
mov byte [esi + 0x1d], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xe6
mov byte [esi + 0x1e], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe7
mov byte [esi + 0x1f], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0xe8
mov byte [esi + 0x20], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xe9
mov byte [esi + 0x21], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0xea
mov byte [esi + 0x22], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xeb
mov byte [esi + 0x23], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xec
mov byte [esi + 0x24], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xed
mov byte [esi + 0x25], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0xee
mov byte [esi + 0x26], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xef
mov byte [esi + 0x27], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0xf0
mov byte [esi + 0x28], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf1
mov byte [esi + 0x29], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xf2
mov byte [esi + 0x2a], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf3
mov byte [esi + 0x2b], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0xf4
mov byte [esi + 0x2c], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf5
mov byte [esi + 0x2d], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x32
xor eax, 0xf6
mov byte [esi + 0x2e], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf7
mov byte [esi + 0x2f], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf8
mov byte [esi + 0x30], al
sub esp, 8
mov dword [esp], 0xbe71a5d0
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf9
mov byte [esi + 0x31], al
mov eax, 0x2a
mov byte [esi + eax + 8], 0
add eax, 1
cmp eax, 0x2f
jne 0x431bdf
mov dword [esi + 0x3c], 0
mov eax, dword [esi + 0x3c]
cmp eax, 0x2f
jae 0x431c28
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x3c]
movzx ecx, byte [esi + ecx + 8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00432270
add esp, 8
mov ecx, dword [esi + 0x3c]
mov byte [esi + ecx + 8], al
mov eax, dword [esi + 0x3c]
inc eax
mov dword [esi + 0x3c], eax
jmp 0x431bf3
sub esp, 4
lea eax, [esi + 8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ecx, dword [esi + 0x64]
mov edx, dword [ecx]
mov edi, dword [edx + 0xc]
sub esp, 0x24
lea edx, [esi + 0x60]
mov dword [esp + 0x20], edx
mov dword [esi + 0x114], eax
mov dword [esp + 4], eax
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 edi
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x278], 0
mov edx, dword [esi + 0x27c]
mov edi, dword [esi + 0x278]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040a1d0
mov dword [esi + 0x1e0], 1
mov eax, dword [esi + 0x1e4]
mov ecx, dword [esi + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x200], eax
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov edx, dword [ebp - 0x204]
mov dword [edx], ecx
mov eax, dword [ebp - 0x20c]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
mov dl, 1
jmp eax
sub esp, 4
mov dword [esp], esi
mov esi, edx
call fcn.00409a60
mov edx, esi
add esp, 4
mov eax, dword [ebp - 0x348]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x354]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [ebp - 0x108]
mov byte [ebp - 0x11c], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x54
mov ecx, eax
or ecx, 0x78
and eax, 0x78
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1ac], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x77
and eax, 0x77
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1ab], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x68
mov ecx, eax
or ecx, 0x76
and eax, 0x76
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1aa], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x75
and eax, 0x75
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a9], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
mov ecx, eax
or ecx, 0x74
and eax, 0x74
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a8], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x73
and eax, 0x73
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a7], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
mov ecx, eax
or ecx, 0x72
and eax, 0x72
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a6], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x71
and eax, 0x71
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a5], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
mov ecx, eax
or ecx, 0x70
and eax, 0x70
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a4], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x6f
and eax, 0x6f
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a3], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
mov ecx, eax
or ecx, 0x6e
and eax, 0x6e
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a2], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x6d
and eax, 0x6d
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a1], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
mov ecx, eax
or ecx, 0x6c
and eax, 0x6c
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x1a0], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x6b
and eax, 0x6b
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19f], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
mov ecx, eax
or ecx, 0x6a
and eax, 0x6a
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19e], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x69
and eax, 0x69
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19d], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
mov ecx, eax
or ecx, 0x68
and eax, 0x68
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19c], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x67
and eax, 0x67
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19b], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
mov ecx, eax
or ecx, 0x66
and eax, 0x66
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x19a], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x65
and eax, 0x65
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x199], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
mov ecx, eax
or ecx, 0x64
and eax, 0x64
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x198], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x63
and eax, 0x63
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x197], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
mov ecx, eax
or ecx, 0x62
and eax, 0x62
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x196], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x61
and eax, 0x61
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x195], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
mov ecx, eax
or ecx, 0x60
and eax, 0x60
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x194], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x5f
and eax, 0x5f
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x193], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
mov ecx, eax
or ecx, 0x5e
and eax, 0x5e
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x192], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x5d
and eax, 0x5d
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x191], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
mov ecx, eax
or ecx, 0x5c
and eax, 0x5c
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x190], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x5b
and eax, 0x5b
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18f], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
mov ecx, eax
or ecx, 0x5a
and eax, 0x5a
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18e], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x59
and eax, 0x59
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18d], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
mov ecx, eax
or ecx, 0x58
and eax, 0x58
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18c], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x57
and eax, 0x57
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18b], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
mov ecx, eax
or ecx, 0x56
and eax, 0x56
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x18a], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x55
and eax, 0x55
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x189], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
mov ecx, eax
or ecx, 0x54
and eax, 0x54
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x188], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x53
and eax, 0x53
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x187], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
mov ecx, eax
or ecx, 0x52
and eax, 0x52
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x186], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x51
and eax, 0x51
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x185], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
mov ecx, eax
or ecx, 0x50
and eax, 0x50
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x184], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x4f
and eax, 0x4f
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x183], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
mov ecx, eax
or ecx, 0x4e
and eax, 0x4e
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x182], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x4d
and eax, 0x4d
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x181], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
mov ecx, eax
or ecx, 0x4c
and eax, 0x4c
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x180], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x4b
and eax, 0x4b
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17f], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
mov ecx, eax
or ecx, 0x4a
and eax, 0x4a
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17e], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x49
and eax, 0x49
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17d], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
mov ecx, eax
or ecx, 0x48
and eax, 0x48
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17c], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x47
and eax, 0x47
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17b], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
mov ecx, eax
or ecx, 0x46
and eax, 0x46
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x17a], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x45
and eax, 0x45
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x179], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
mov ecx, eax
or ecx, 0x44
and eax, 0x44
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x178], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x43
and eax, 0x43
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x177], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
mov ecx, eax
or ecx, 0x42
and eax, 0x42
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x176], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x41
and eax, 0x41
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x175], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
mov ecx, eax
or ecx, 0x40
and eax, 0x40
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x174], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x3f
and eax, 0x3f
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x173], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x21
mov ecx, eax
or ecx, 0x3e
and eax, 0x3e
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x172], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x3d
and eax, 0x3d
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x171], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x3c
and eax, 0x3c
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x170], al
sub esp, 8
mov dword [esp], 0x7b98a787
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
or ecx, 0x3b
and eax, 0x3b
xor ecx, 0xffffffff
or eax, ecx
mov byte [ebp - 0x16f], al
mov eax, 0x3e
mov byte [ebp + eax - 0x1ac], 0
add eax, 1
cmp eax, 0x43
jne 0x4336c1
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
cmp eax, 0x43
jae 0x433713
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebp + ecx - 0x1ac]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b130
add esp, 8
mov ecx, dword [ebp - 0x24]
mov byte [ebp + ecx - 0x1ac], al
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x4336d8
lea edi, [ebp - 0x496]
lea eax, [ebp - 0x1ac]
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x496]
add eax, 0x3c
lea edx, [ebp - 0x1ac]
add edx, 0x3c
mov esi, edx
mov edi, eax
mov ecx, 1
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
add eax, 2
add edx, 2
xor ecx, ecx
mov esi, ecx
add ecx, 0xffffffff
cmp esi, 0
je 0x43376c
mov esi, edx
add esi, 1
mov dl, byte [edx]
mov byte [eax], dl
add eax, 1
mov edx, esi
jmp 0x433752
mov word [ebp - 0x400], 0x3c
mov word [ebp - 0x3fe], 0x3e
lea eax, [ebp - 0x496]
mov dword [ebp - 0x3fc], eax
mov al, byte [ebp - 0x104]
mov byte [ebp - 0x120], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0xe
mov byte [ebp - 0x6c], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf
mov byte [ebp - 0x6b], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x10
mov byte [ebp - 0x6a], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11
mov byte [ebp - 0x69], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x12
mov byte [ebp - 0x68], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x13
mov byte [ebp - 0x67], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x14
mov byte [ebp - 0x66], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x15
mov byte [ebp - 0x65], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x16
mov byte [ebp - 0x64], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x17
mov byte [ebp - 0x63], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x18
mov byte [ebp - 0x62], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x19
mov byte [ebp - 0x61], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0x1a
mov byte [ebp - 0x60], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1b
mov byte [ebp - 0x5f], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1c
mov byte [ebp - 0x5e], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1d
mov byte [ebp - 0x5d], al
mov eax, 0x10
mov byte [ebp + eax - 0x6c], 0
add eax, 1
cmp eax, 0x12
jne 0x4339b0
mov dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
cmp eax, 0x12
jae 0x4339f9
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x28]
movzx ecx, byte [ebp + ecx - 0x6c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b150
add esp, 8
mov ecx, dword [ebp - 0x28]
mov byte [ebp + ecx - 0x6c], al
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
jmp 0x4339c4
lea edi, [ebp - 0x444]
lea eax, [ebp - 0x6c]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x444]
add eax, 0x10
lea edx, [ebp - 0x6c]
add edx, 0x10
mov esi, edx
mov edi, eax
xor ecx, ecx
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
xor ecx, ecx
mov esi, ecx
add ecx, 0xffffffff
cmp esi, 0
je 0x433a43
mov esi, edx
add esi, 1
mov dl, byte [edx]
mov byte [eax], dl
add eax, 1
mov edx, esi
jmp 0x433a29
mov word [ebp - 0x3f8], 0xe
mov word [ebp - 0x3f6], 0x10
lea eax, [ebp - 0x444]
mov dword [ebp - 0x3f4], eax
lea eax, [ebp - 0x400]
mov dword [ebp - 0x420], eax
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x41c], eax
mov dword [ebp - 0x418], 0x30
mov al, byte [ebp - 0x130]
mov byte [ebp - 0x164], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x31
mov byte [ebp - 0x138], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x32
mov byte [ebp - 0x137], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x33
mov byte [ebp - 0x136], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x34
mov byte [ebp - 0x135], al
mov eax, 4
mov byte [ebp + eax - 0x138], 0
add eax, 1
cmp eax, 5
jne 0x433b34
mov dword [ebp - 0x30], 0
mov eax, dword [ebp - 0x30]
cmp eax, 5
jae 0x433b86
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x30]
movzx ecx, byte [ebp + ecx - 0x138]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a560
add esp, 8
mov ecx, dword [ebp - 0x30]
mov byte [ebp + ecx - 0x138], al
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
jmp 0x433b4b
mov esi, dword [ebp - 0x138]
xor edi, edi
cmp edi, dword [0x44a974]
jb 0x433b9b
jmp 0x433c27
mov eax, dword [0x44a978]
cmp dword [eax + edi*8], 0x99d31639
sete bl
test bl, 1
jne 0x433bb1
jmp 0x433c0f
mov eax, dword [eax + edi*8 + 4]
cmp eax, esi
je 0x433c0f
mov ecx, dword [0x44a97c]
xor edx, edx
lea edx, [ebp - 0x424]
sub esp, 0x24
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
mov dword [esp + 0xc], 0x50000018
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
lea eax, [ebp - 0x420]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
call fcn.0043d1f0
add esp, 0x24
test bl, 1
je 0x433c16
jmp 0x433c27
mov eax, edi
shl eax, 1
and eax, 2
xor edi, 1
add edi, eax
jmp 0x433b8e
mov eax, dword [ebp - 0x320]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x324]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
jmp eax
mov eax, dword [ebp - 0x3c8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3cc]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x310]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x314]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov byte [ebp - 0x18], dl
mov eax, dword [ebp - 0x24c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x284]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
push es
and byte [ebx - 0x2e], bh
cmp bl, bh
and al, 0xc5
mov eax, dword [ebp - 0x1dc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1e0]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1f0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1f8]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], 0
call fcn.0043e790
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
sete al
mov ecx, dword [ebp - 0x294]
mov dword [ecx], eax
mov eax, dword [ebp - 0x2a8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0040a1d0
mov ecx, dword [ebp - 0x2ec]
mov dword [ecx], 0
mov eax, dword [ebp - 0x2f8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, dword [ebp - 0x1b4]
mov esi, dword [0x4429e4]
add esi, 0x30
mov eax, dword [ebp - 0x258]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x28c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x3b0]
mov dword [ecx], 1
mov eax, dword [ebp - 0x3b8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x378]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x37c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
sub byte [ecx - 0x3705f8bb], 0x3a
xor byte [ebx - 0x1bf7b], cl
dec dword [ebx + 0x388d8b00]
invalid
mov dword [ebp - 0x1b8], esi
mov ecx, esi
add ecx, dword [0x4429e4]
add ecx, 8
mov eax, 0x14
lea ebx, [0x4429e0]
add ebx, 8
mov esi, ebx
mov edi, ecx
mov ecx, eax
add eax, 0xffffffff
cmp ecx, 0
je 0x433ddb
mov ecx, edi
add ecx, 1
mov bl, byte [edi]
mov byte [ebp - 0x15], bl
mov ebx, esi
add ebx, 1
mov dl, byte [ebp - 0x15]
cmp dl, byte [esi]
je 0x433dad
movzx eax, byte [edi]
movzx ecx, byte [esi]
sub eax, ecx
jmp 0x433ddf
xor eax, eax
jmp 0x433ddf
xor ecx, ecx
test eax, eax
sete cl
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x224]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
mov dl, 1
mov esi, dword [ebp - 0x1b8]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x3c0]
mov dword [ecx], 1
mov eax, dword [ebp - 0x3c4]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
call eax
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
call eax
sub esp, 0x14
lea eax, [ebp - 0x44]
mov dword [esp + 4], eax
mov dword [esp], esi
mov dword [esp + 0x10], 0x60
mov dword [esp + 0xc], 3
mov dword [esp + 8], 0x120089
call fcn.0043f380
add esp, 0x14
xor ecx, ecx
test eax, eax
setns al
mov edi, dword [ebp - 0x2c4]
mov dword [edi], 1
mov edx, dword [ebx]
mov edi, dword [edi]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040a1d0
sub esp, 4
mov dword [esp], edi
call fcn.00409a50
add esp, 4
mov esi, eax
mov eax, dword [ebp - 0x1b4]
mov ecx, dword [ebp - 0x44]
sub esp, 0x10
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], ecx
mov dword [esp + 0xc], 0
call fcn.0043f7e0
add esp, 0x10
xor ecx, ecx
test eax, eax
setns al
mov ebx, dword [ebp - 0x208]
mov dword [ebx], 0
mov edx, dword [ebp - 0x210]
mov edx, dword [edx]
mov ebx, dword [ebx]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [ebp - 0x350]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x360]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x228]
mov dword [ecx], 0
mov eax, dword [ebp - 0x22c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x278]
jmp eax
mov al, byte [ebp - 0x100]
mov byte [ebp - 0x154], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x44
xor eax, 0x2d
mov byte [ebp - 0xf8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x2e
mov byte [ebp - 0xf7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x2f
mov byte [ebp - 0xf6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x30
mov byte [ebp - 0xf5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x31
mov byte [ebp - 0xf4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x32
mov byte [ebp - 0xf3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x33
mov byte [ebp - 0xf2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x34
mov byte [ebp - 0xf1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x35
mov byte [ebp - 0xf0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x36
mov byte [ebp - 0xef], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0x37
mov byte [ebp - 0xee], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x38
mov byte [ebp - 0xed], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x39
mov byte [ebp - 0xec], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3a
mov byte [ebp - 0xeb], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x77
xor eax, 0x3b
mov byte [ebp - 0xea], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3c
mov byte [ebp - 0xe9], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x3d
mov byte [ebp - 0xe8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x3e
mov byte [ebp - 0xe7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x3f
mov byte [ebp - 0xe6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x40
mov byte [ebp - 0xe5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x41
mov byte [ebp - 0xe4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x42
mov byte [ebp - 0xe3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x43
mov byte [ebp - 0xe2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x44
mov byte [ebp - 0xe1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x45
mov byte [ebp - 0xe0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x46
mov byte [ebp - 0xdf], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x47
mov byte [ebp - 0xde], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x48
mov byte [ebp - 0xdd], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x49
mov byte [ebp - 0xdc], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4a
mov byte [ebp - 0xdb], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x4b
mov byte [ebp - 0xda], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4c
mov byte [ebp - 0xd9], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0x4d
mov byte [ebp - 0xd8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4e
mov byte [ebp - 0xd7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x4f
mov byte [ebp - 0xd6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x50
mov byte [ebp - 0xd5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x51
mov byte [ebp - 0xd4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x52
mov byte [ebp - 0xd3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x53
mov byte [ebp - 0xd2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x54
mov byte [ebp - 0xd1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x55
mov byte [ebp - 0xd0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x56
mov byte [ebp - 0xcf], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0x57
mov byte [ebp - 0xce], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x58
mov byte [ebp - 0xcd], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x59
mov byte [ebp - 0xcc], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5a
mov byte [ebp - 0xcb], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x5b
mov byte [ebp - 0xca], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5c
mov byte [ebp - 0xc9], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x77
xor eax, 0x5d
mov byte [ebp - 0xc8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5e
mov byte [ebp - 0xc7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x5f
mov byte [ebp - 0xc6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x60
mov byte [ebp - 0xc5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x61
mov byte [ebp - 0xc4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x62
mov byte [ebp - 0xc3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x63
mov byte [ebp - 0xc2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x64
mov byte [ebp - 0xc1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x3f
xor eax, 0x65
mov byte [ebp - 0xc0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x66
mov byte [ebp - 0xbf], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xa
xor eax, 0x67
mov byte [ebp - 0xbe], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x68
mov byte [ebp - 0xbd], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x28
xor eax, 0x69
mov byte [ebp - 0xbc], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6a
mov byte [ebp - 0xbb], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x43
xor eax, 0x6b
mov byte [ebp - 0xba], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6c
mov byte [ebp - 0xb9], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x6d
mov byte [ebp - 0xb8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6e
mov byte [ebp - 0xb7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x6f
mov byte [ebp - 0xb6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x70
mov byte [ebp - 0xb5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0x71
mov byte [ebp - 0xb4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x72
mov byte [ebp - 0xb3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x73
mov byte [ebp - 0xb2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x74
mov byte [ebp - 0xb1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x75
mov byte [ebp - 0xb0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x76
mov byte [ebp - 0xaf], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x62
xor eax, 0x77
mov byte [ebp - 0xae], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x78
mov byte [ebp - 0xad], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x75
xor eax, 0x79
mov byte [ebp - 0xac], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7a
mov byte [ebp - 0xab], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x7b
mov byte [ebp - 0xaa], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7c
mov byte [ebp - 0xa9], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x7d
mov byte [ebp - 0xa8], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7e
mov byte [ebp - 0xa7], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0x7f
mov byte [ebp - 0xa6], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x80
mov byte [ebp - 0xa5], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x81
mov byte [ebp - 0xa4], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x82
mov byte [ebp - 0xa3], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x83
mov byte [ebp - 0xa2], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x84
mov byte [ebp - 0xa1], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x85
mov byte [ebp - 0xa0], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x86
mov byte [ebp - 0x9f], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x87
mov byte [ebp - 0x9e], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x88
mov byte [ebp - 0x9d], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0x89
mov byte [ebp - 0x9c], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8a
mov byte [ebp - 0x9b], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x8b
mov byte [ebp - 0x9a], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8c
mov byte [ebp - 0x99], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x8d
mov byte [ebp - 0x98], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8e
mov byte [ebp - 0x97], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x8f
mov byte [ebp - 0x96], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x90
mov byte [ebp - 0x95], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x62
xor eax, 0x91
mov byte [ebp - 0x94], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x92
mov byte [ebp - 0x93], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x93
mov byte [ebp - 0x92], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x94
mov byte [ebp - 0x91], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x95
mov byte [ebp - 0x90], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x96
mov byte [ebp - 0x8f], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0x97
mov byte [ebp - 0x8e], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x98
mov byte [ebp - 0x8d], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x99
mov byte [ebp - 0x8c], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9a
mov byte [ebp - 0x8b], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x68
xor eax, 0x9b
mov byte [ebp - 0x8a], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9c
mov byte [ebp - 0x89], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x9d
mov byte [ebp - 0x88], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x9e
mov byte [ebp - 0x87], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x9f
mov byte [ebp - 0x86], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa0
mov byte [ebp - 0x85], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x20
xor eax, 0xa1
mov byte [ebp - 0x84], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa2
mov byte [ebp - 0x83], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0xa3
mov byte [ebp - 0x82], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa4
mov byte [ebp - 0x81], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xa5
mov byte [ebp - 0x80], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa6
mov byte [ebp - 0x7f], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0xa7
mov byte [ebp - 0x7e], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xa8
mov byte [ebp - 0x7d], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0xa9
mov byte [ebp - 0x7c], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xaa
mov byte [ebp - 0x7b], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0xab
mov byte [ebp - 0x7a], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xac
mov byte [ebp - 0x79], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0xad
mov byte [ebp - 0x78], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xae
mov byte [ebp - 0x77], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0xaf
mov byte [ebp - 0x76], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb0
mov byte [ebp - 0x75], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x29
xor eax, 0xb1
mov byte [ebp - 0x74], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb2
mov byte [ebp - 0x73], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb3
mov byte [ebp - 0x72], al
sub esp, 8
mov dword [esp], 0x2d399f2d
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xb4
mov byte [ebp - 0x71], al
mov eax, 0x88
mov byte [ebp + eax - 0xf8], 0
add eax, 1
cmp eax, 0x89
jne 0x4352cc
mov dword [ebp - 0x3c], 0
mov eax, dword [ebp - 0x3c]
cmp eax, 0x89
jae 0x435322
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x3c]
movzx ecx, byte [ebp + ecx - 0xf8]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b180
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov byte [ebp + ecx - 0xf8], al
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
jmp 0x4352e5
lea edi, [ebp - 0x51e]
lea eax, [ebp - 0xf8]
mov ecx, 0x22
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x51e]
add eax, 0x88
lea edx, [ebp - 0xf8]
add edx, 0x88
mov ebx, edx
mov edi, eax
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
mov edi, ecx
add ecx, 0xffffffff
cmp edi, 0
je 0x435377
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov byte [eax], dl
add eax, 1
mov edx, edi
jmp 0x43535d
mov word [ebp - 0x3f0], 0x86
mov word [ebp - 0x3ee], 0x88
lea eax, [ebp - 0x51e]
mov dword [ebp - 0x3ec], eax
mov al, byte [ebp - 0xfc]
mov byte [ebp - 0x158], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x57
xor eax, 0x14
mov byte [ebp - 0x58], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x15
mov byte [ebp - 0x57], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x16
mov byte [ebp - 0x56], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x17
mov byte [ebp - 0x55], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x18
mov byte [ebp - 0x54], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x19
mov byte [ebp - 0x53], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x1a
mov byte [ebp - 0x52], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1b
mov byte [ebp - 0x51], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x1c
mov byte [ebp - 0x50], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1d
mov byte [ebp - 0x4f], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x1e
mov byte [ebp - 0x4e], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1f
mov byte [ebp - 0x4d], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0x20
mov byte [ebp - 0x4c], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x21
mov byte [ebp - 0x4b], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x22
mov byte [ebp - 0x4a], al
sub esp, 8
mov dword [esp], 0xfa0ac214
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x23
mov byte [ebp - 0x49], al
mov eax, 0x10
mov byte [ebp + eax - 0x58], 0
add eax, 1
cmp eax, 0x11
jne 0x4355bb
mov dword [ebp - 0x40], 0
mov eax, dword [ebp - 0x40]
cmp eax, 0x11
jae 0x435604
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x40]
movzx ecx, byte [ebp + ecx - 0x58]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b1b0
add esp, 8
mov ecx, dword [ebp - 0x40]
mov byte [ebp + ecx - 0x58], al
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
jmp 0x4355cf
lea edi, [ebp - 0x434]
lea eax, [ebp - 0x58]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea eax, [ebp - 0x434]
add eax, 0x10
lea edx, [ebp - 0x58]
add edx, 0x10
xor ecx, ecx
mov ebx, edx
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
xor ecx, ecx
mov edi, ecx
add ecx, 0xffffffff
cmp edi, 0
je 0x43564e
mov edi, edx
add edi, 1
mov dl, byte [edx]
mov byte [eax], dl
add eax, 1
mov edx, edi
jmp 0x435634
mov word [ebp - 0x3e8], 0xe
mov word [ebp - 0x3e6], 0x10
lea eax, [ebp - 0x434]
mov dword [ebp - 0x3e4], eax
lea eax, [ebp - 0x3f0]
mov dword [ebp - 0x414], eax
lea eax, [ebp - 0x3e8]
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x40c], 0x34
mov al, byte [ebp - 0x124]
mov byte [ebp - 0x168], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x31
mov byte [ebp - 0x12c], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x32
mov byte [ebp - 0x12b], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x33
mov byte [ebp - 0x12a], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x34
mov byte [ebp - 0x129], al
mov eax, 4
mov byte [ebp + eax - 0x12c], 0
add eax, 1
cmp eax, 5
jne 0x43573f
mov dword [ebp - 0x2c], 0
mov eax, dword [ebp - 0x2c]
cmp eax, 5
jae 0x435791
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x2c]
movzx ecx, byte [ebp + ecx - 0x12c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a560
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov byte [ebp + ecx - 0x12c], al
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
jmp 0x435756
mov edi, dword [ebp - 0x12c]
xor ebx, ebx
cmp ebx, dword [0x44a974]
jb 0x4357a6
jmp 0x435838
mov eax, dword [0x44a978]
cmp dword [eax + ebx*8], 0x99d31639
sete cl
test cl, 1
jne 0x4357bc
jmp 0x435820
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x435820
mov byte [ebp - 0x19], cl
mov ecx, dword [0x44a97c]
xor edx, edx
lea edx, [ebp - 0x3e0]
sub esp, 0x24
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
mov dword [esp + 0xc], 0x50000018
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
lea eax, [ebp - 0x414]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edx
call fcn.0043d1f0
mov cl, byte [ebp - 0x19]
add esp, 0x24
test cl, 1
je 0x435827
jmp 0x435838
mov eax, ebx
shl eax, 1
and eax, 2
xor ebx, 1
add ebx, eax
jmp 0x435799
mov ecx, dword [ebp - 0x3e0]
xor eax, eax
sub ecx, 8
setne cl
mov edi, dword [ebp - 0x36c]
mov dword [edi], 0
mov edx, dword [ebp - 0x374]
mov edx, dword [edx]
mov edi, dword [edi]
mov edx, dword [edx + edi*4]
jmp edx
call fcn.0040a1d0
mov eax, dword [ebp - 0x44]
sub esp, 0xc
lea ecx, [ebp - 0x1b4]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov dword [esp + 8], 0
call fcn.0043f700
add esp, 0xc
xor ecx, ecx
test eax, eax
setns al
mov dword [ebx], 1
mov edx, dword [edi]
mov esi, dword [ebx]
mov edx, dword [edx + esi*4]
jmp edx
mov esi, dword [ebp - 0x44]
mov al, byte [ebp - 0x13c]
mov byte [ebp - 0x160], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x31
mov byte [ebp - 0x144], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x32
mov byte [ebp - 0x143], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x33
mov byte [ebp - 0x142], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x34
mov byte [ebp - 0x141], al
mov eax, 4
mov byte [ebp + eax - 0x144], 0
add eax, 1
cmp eax, 5
jne 0x435953
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x34]
cmp eax, 5
jae 0x4359a5
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x34]
movzx ecx, byte [ebp + ecx - 0x144]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a560
add esp, 8
mov ecx, dword [ebp - 0x34]
mov byte [ebp + ecx - 0x144], al
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
jmp 0x43596a
mov edi, dword [ebp - 0x144]
xor ebx, ebx
cmp ebx, dword [0x44a974]
jb 0x4359b7
jmp 0x435a0d
mov eax, dword [0x44a978]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x4359cd
jmp 0x435a01
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x435a01
mov byte [ebp - 0x16], cl
mov ecx, dword [0x44a97c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], esi
call fcn.0043d1f0
mov cl, byte [ebp - 0x16]
add esp, 0x10
jmp 0x435a01
test cl, 1
je 0x435a08
jmp 0x435a0d
add ebx, 1
jmp 0x4359ad
call fcn.0040a1d0
call fcn.0040a1d0
mov ecx, dword [ebp - 0x3a0]
mov dword [ecx], 0
mov eax, dword [ebp - 0x3a4]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x10]
jmp eax
mov eax, dword [ebp - 0x35c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x368]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
xor edx, edx
jmp eax
mov eax, dword [ebp - 0x300]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x304]
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
mov al, 1
mov dword [ebp - 0x1b0], eax
mov eax, 1
jmp ecx
mov eax, dword [ebp - 0x390]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x398]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x238]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x268]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x3a8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3b4]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
xor ebx, ebx
mov eax, edi
sub eax, esi
setb dl
mov ecx, dword [ebp - 0x298]
mov dword [ecx], 1
mov eax, dword [ebp - 0x2ac]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [ebp - 0x14], esi
mov eax, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call eax
call fcn.0040a1d0
call fcn.0040a1d0
mov eax, dword [0x44a968]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x6c474eae
call fcn.0043e870
add esp, 8
mov esi, eax
test esi, esi
setne al
call fcn.0040a1d0
call fcn.0040a1d0
call esi
movzx esi, ax
mov al, byte [ebp - 0x10c]
mov byte [ebp - 0x118], al
sub esp, 8
mov dword [esp], 0xb19863d1
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x19
xor eax, 0xd1
mov byte [ebp - 0x114], al
sub esp, 8
mov dword [esp], 0xb19863d1
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 4
xor eax, 0xd2
mov byte [ebp - 0x113], al
sub esp, 8
mov dword [esp], 0xb19863d1
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd3
mov byte [ebp - 0x112], al
sub esp, 8
mov dword [esp], 0xb19863d1
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xd4
mov byte [ebp - 0x111], al
mov eax, 4
mov byte [ebp + eax - 0x114], 0
add eax, 1
cmp eax, 5
jne 0x435bc6
mov dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x20]
cmp eax, 5
jae 0x435c18
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ebp + ecx - 0x114]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b110
add esp, 8
mov ecx, dword [ebp - 0x20]
mov byte [ebp + ecx - 0x114], al
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
jmp 0x435bdd
mov eax, dword [ebp - 0x114]
xor ecx, ecx
sub esi, eax
sete cl
mov edx, dword [ebp - 0x2f4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2fc]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
jmp eax
test esp, ebp
invalid
mov al, cl
and eax, 1
mov ecx, dword [ebp - 0x364]
mov dword [ecx], eax
mov eax, dword [ebp - 0x370]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov dl, 1
jmp eax
call fcn.0040a1d0
mov dword [ebx], 1
mov eax, dword [ebp - 0x2d8]
mov eax, dword [eax]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x394]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x39c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov ebx, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x14]
jmp eax
jmp 0x435c19
call fcn.0040a1d0
mov ecx, dword [ebp - 0x2b4]
mov dword [ecx], 1
mov eax, dword [ebp - 0x2c0]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x2c8]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x234]
mov dword [ecx], 1
mov eax, dword [ebp - 0x250]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov ebx, dword [ebp - 0x2d4]
jmp eax
mov ecx, dword [ebp - 0x34c]
mov dword [ecx], 0
mov eax, dword [ebp - 0x358]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x10]
jmp eax
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x338]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x340]
mov ecx, dword [ecx]
mov ecx, dword [ecx + eax*4]
xor eax, eax
mov esi, dword [ebp - 0x14]
jmp ecx
mov eax, dword [ebp - 0x33c]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x344]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov esi, dword [ebp - 0x44]
mov dword [ebx], 1
mov eax, dword [edi]
mov ecx, dword [ebx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x308]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x30c]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov esi, dword [ebp - 0x14]
jmp eax
mov al, byte [ebp - 0x148]
mov byte [ebp - 0x15c], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x31
mov byte [ebp - 0x150], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x32
mov byte [ebp - 0x14f], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x33
mov byte [ebp - 0x14e], al
sub esp, 8
mov dword [esp], 0xad100031
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0xff
xor eax, 0x34
mov byte [ebp - 0x14d], al
mov eax, 4
mov byte [ebp + eax - 0x150], 0
add eax, 1
cmp eax, 5
jne 0x435e28
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, 5
jae 0x435e7a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
movzx ecx, byte [ebp + ecx - 0x150]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a560
add esp, 8
mov ecx, dword [ebp - 0x38]
mov byte [ebp + ecx - 0x150], al
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
jmp 0x435e3f
mov edi, dword [ebp - 0x150]
xor ebx, ebx
cmp ebx, dword [0x44a974]
jb 0x435e8c
jmp 0x435ee2
mov eax, dword [0x44a978]
cmp dword [eax + ebx*8], 0x625b6034
sete cl
test cl, 1
jne 0x435ea2
jmp 0x435ed6
mov eax, dword [eax + ebx*8 + 4]
cmp eax, edi
je 0x435ed6
mov byte [ebp - 0x17], cl
mov ecx, dword [0x44a97c]
sub esp, 0x10
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], esi
call fcn.0043d1f0
mov cl, byte [ebp - 0x17]
add esp, 0x10
jmp 0x435ed6
test cl, 1
je 0x435edd
jmp 0x435ee2
add ebx, 1
jmp 0x435e82
call fcn.0040a1d0
call fcn.0040a1d0
mov ecx, dword [ebp - 0x318]
mov dword [ecx], 0
mov eax, dword [ebp - 0x31c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x10]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x380]
mov dword [ecx], 0
mov eax, dword [ebp - 0x388]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x2d0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2e4]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov bl, 1
mov edi, dword [ebp - 0x10]
jmp eax
dec ecx
ljmp 0xb538
or ah, byte [esi - 0x58]
test eax, 0x851a602f
mov eax, dword [ebp - 0x1e8]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1f4]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x1fc]
mov dword [ecx], 1
mov eax, dword [ebp - 0x200]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x230]
mov dword [ecx], 1
mov eax, dword [ebp - 0x248]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x244]
mov dword [ecx], 0
mov eax, dword [ebp - 0x270]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x218]
mov dword [ecx], 0
mov eax, dword [ebp - 0x220]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x3d0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3d8]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1e4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1ec]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x1d4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1d8]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov edx, dword [ebp - 0x2b8]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2cc]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x2b0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x2bc]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov bl, 1
jmp eax
xchg ebp, eax
jg 0x436077
hlt
cld
invalid
call fcn.0040a1d0
mov ecx, dword [ebp - 0x3d4]
mov dword [ecx], 0
mov eax, dword [ebp - 0x3dc]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [ebp - 0x18]
mov bl, al
and ebx, 1
mov ecx, dword [ebp - 0x254]
mov dword [ecx], ebx
mov eax, dword [ebp - 0x27c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [edi], 1
mov eax, dword [esi]
mov ecx, dword [edi]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x2dc]
mov dword [ecx], 0
mov eax, dword [ebp - 0x2e8]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x14]
jmp eax
mov eax, dword [ebp - 0x260]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x290]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov bl, 1
mov esi, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx], 0
mov eax, dword [ebp - 0x264]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov esi, dword [ebp - 0x29c]
jmp eax
mov eax, dword [ebp - 0x1bc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1c4]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x274]
mov dword [ecx], 1
mov eax, dword [esi]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov ecx, dword [ebp - 0x240]
mov dword [ecx], 0
mov eax, dword [ebp - 0x26c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov eax, dword [eax + ecx*4]
mov edi, dword [ebp - 0x2a4]
mov ebx, dword [ebp - 0x280]
jmp eax
mov cl, al
and ecx, 1
mov edx, dword [ebp - 0x25c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x288]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
mov dl, 1
mov edi, dword [ebp - 0x10]
jmp eax
mov eax, dword [ebp - 0x3ac]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x3bc]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
in eax, dx
jns 0x4361d7
push ss
mov eax, dword [ebp - 0x1cc]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x1d0]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [0x4429e0]
xor ecx, ecx
sub eax, 1
sete cl
mov edx, dword [ebp - 0x2e0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x2f0]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [edx]
mov eax, dword [ebp - 0x214]
mov eax, dword [eax]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
xor ecx, ecx
test eax, eax
sete cl
mov edx, dword [ebp - 0x384]
mov dword [edx], ecx
mov eax, dword [ebp - 0x38c]
mov eax, dword [eax]
mov ecx, dword [edx]
mov eax, dword [eax + ecx*4]
mov bl, 1
jmp eax
int3
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 0xa
jae 0x438a7a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b2b0
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
jmp 0x438a45
add edi, 2
mov eax, dword [esp + 0x388]
mov ecx, dword [esp + 0x38c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov ecx, dword [eax + ecx*4]
xor eax, eax
mov edi, dword [esp + 0x470]
mov ebx, dword [esp + 0x10]
jmp ecx
call fcn.0040a1d0
mov dword [esp + 0x2f8], 0
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esp + 0xf0], 1
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esp + 0x2d0], 1
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x368], ecx
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
mov word [eax], 0
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x1a8], ecx
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esp + 0x1d0], 1
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
test ax, ax
setne cl
mov dword [esp + 0x438], ecx
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, edi
add eax, 2
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x154]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040a1d0
mov dword [esp + 0x328], 0
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
xor eax, eax
test esi, esi
sete cl
mov edx, dword [esp + 0x428]
mov edi, dword [esp + 0x42c]
mov edx, dword [edi + edx*4]
jmp edx
call fcn.0040a1d0
mov dword [esp + 0x380], 1
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a1d0
mov dword [esp + 0x3b0], 0
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a1d0
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
mov ecx, esi
sub ecx, edi
setae al
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
mov eax, dword [eax + ecx*4]
mov ebx, edi
jmp eax
movzx edi, ax
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov ecx, dword [esp + 0x1b8]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub ax, 0x5c
sete al
mov edx, dword [esp + 0x1b0]
mov esi, dword [esp + 0x1b4]
mov edx, dword [esi + edx*4]
jmp edx
add cl, cl
and al, 0x42
add byte [edi], dh
and al, 0x42
add cl, bl
and al, 0x42
add byte [ecx + 0x22], dl
inc edx
add byte [ecx + 0x22], dl
inc edx
add byte [ecx - 0x66ffbde2], bl
push ds
inc edx
add byte [ebx - 0x3fffbde2], ah
push ds
inc edx
add al, al
push ds
inc edx
add dh, al
push ds
inc edx
add al, ah
push ds
inc edx
add bh, ch
push ds
inc edx
add bh, ch
push ds
inc edx
add bh, ch
push ds
inc edx
add al, cl
sbb eax, dword [edx]
aam 0x1b
inc edx
add byte [eax - 0x5fffbde1], ah
pop ds
inc edx
add ch, ch
sbb eax, dword [edx]
mov al, 0x1f
inc edx
add byte [esp + ebx + 0x1ca90042], bl
inc edx
add byte [ecx + 0x4700421c], ch
sbb dword [edx], eax
sub eax, 0x1004214
add byte [eax], al
add byte [0x10004214], ch
adc byte [edx], al
add dword [eax], eax
add byte [eax], al
rcl byte [ebx], 0x42
add byte [eax + 0x12], ah
inc edx
add byte [eax + 0x13], ah
inc edx
add byte [eax], bh
push ss
inc edx
add byte [eax], dh
and byte [edx], al
and byte [ecx], bl
inc edx
add byte [ecx], al
add byte [eax], al
add al, ah
and al, byte [edx]
add dword [eax], eax
add byte [eax], al
mov al, 0x23
inc edx
add al, ah
and eax, dword [edx]
add byte [edx + eax*2], ah
add byte [eax], dl
and al, 0x42
add byte [edx], bl
and eax, 0x1ecc0042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], dl
sub al, byte [edx]
dec edi
sub eax, 0x2d4f0042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax], al
cmp dword [edx], eax
retf
or dword [edx], eax
ret 0x420e
or dword [edx], eax
pop edi
or al, byte [edx]
scasd eax, dword es:[edi]
push cs
inc edx
add byte [ebx + 0x2500420a], bl
or al, 0x42
add byte [ebp + 0x2500420a], ah
or al, 0x42
add byte [esi + 0xd], bl
inc edx
add byte [ebp + ecx + 0x42], ah
add byte [ebp + ecx + 0x42], dh
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 [edi - 0x72ffbdf1], bh
or eax, 0xd940042
inc edx
add byte [ecx], dl
push cs
inc edx
add byte [ecx], bl
push cs
inc edx
add byte [ecx + 0xe], cl
inc edx
add byte [ecx + 0xe], bh
inc edx
add byte [ecx + 0xe], bh
inc edx
add byte [ebp - 0x3fffbdf2], bl
push cs
inc edx
add al, al
push cs
inc edx
add byte [eax - 0x3fffbdf7], ah
push cs
inc edx
add byte [edx - 0x69ffbdf1], cl
cmovb eax, dword [eax]
adc byte [eax], dl
inc edx
add byte [eax], dl
adc byte [edx], al
adc dl, byte [eax]
inc edx
add byte [eax], dl
adc byte [edx], al
cli
adc eax, dword [edx]
sbb dword [eax], edx
inc edx
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 [ecx], bl
adc byte [edx], al
push esp
adc dword [edx], eax
pushal
adc dword [edx], eax
rcl byte [ebx], 0x42
add dl, bl
adc eax, dword [edx]
rcl byte [ebx], 0x42
add byte [eax + 1677738513], al
adc al, byte [edx]
mov word [ecx], ss
inc edx
add byte [edx + edx + 0x42], ah
add byte [ecx + 0x12], cl
inc edx
add byte [edi + 0x12], cl
inc edx
add byte [eax + 0x12], bl
inc edx
add byte [eax + 0x12], ah
inc edx
add byte [eax + 0x12], ah
inc edx
add byte [edx + edx + 0x42], ah
add byte [eax + 0x12], ah
inc edx
add byte [ecx], ch
adc eax, dword [edx]
bound edx, qword [ebx]
inc edx
add byte [esi + 0x13], al
inc edx
add byte [edx + 0x13], cl
inc edx
add byte [eax + 0x13], ah
inc edx
add byte [eax + 0x13], ah
inc edx
add byte [eax + 0x13], ah
inc edx
add byte [edx + 0x13], ah
inc edx
add byte [eax + 0x13], bh
inc edx
add al, dh
cmovb eax, dword [eax]
cli
adc eax, dword [edx]
add eax, 0xfa004210
adc eax, dword [edx]
add eax, 0x8004210
adc al, 66
add byte [0x5c004214], ch
adc eax, 0x161e0042
inc edx
add byte [edx], dh
push ss
inc edx
add byte [ecx + 0x15], bh
inc edx
add byte [eax], bh
push ss
inc edx
add byte [eax + 0x16], dl
inc edx
add byte [ecx + 0x16], ch
inc edx
add byte [eax + 0x16], dl
inc edx
add byte [ebp + 0x16], dh
inc edx
add byte [edi + 0x53004216], cl
sbb byte [edx], al
mov edx, 0x3e004216
sbb byte [edx], al
std
push ss
inc edx
add byte [esi], bl
sbb byte [edx], al
pop ss
inc edx
add byte [esi], bl
sbb byte [edx], al
loopne 0x446e15
inc edx
add byte [eax], dh
and byte [edx], al
xor byte [eax], ah
inc edx
add byte [edx], dh
and byte [edx], al
xor byte [eax], ah
inc edx
add byte [esi], bl
sbb byte [edx], al
inc eax
and byte [edx], al
and al, 0x18
inc edx
add byte [esi], bh
sbb byte [edx], al
inc esp
sbb byte [edx], al
push ebx
sbb byte [edx], al
and byte [ecx], bl
inc edx
add byte [eax], ah
sbb dword [edx], eax
and byte [ecx], bl
inc edx
add byte [edx], ah
sbb dword [edx], eax
sub byte [ecx], bl
inc edx
add byte [esi + 0x19], dl
inc edx
add byte [ecx + ebx + 0x42], ch
add byte [edi + 0x19], al
inc edx
add al, cl
sbb eax, dword [edx]
invalid
push ds
inc edx
add byte [edx], dh
and al, byte [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov ebx, 0x99004226
push ds
inc edx
add byte [ebx + 0x22], ch
inc edx
add byte [ecx + 0x22], dl
inc edx
add byte [eax - 0x1fffbdde], bl
and al, byte [edx]
loopne 0x446eb0
inc edx
add dl, ah
and al, byte [edx]
loopne 0x446eb8
inc edx
add byte [ecx + 0x23], dl
inc edx
add ah, dh
and al, byte [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
mov ebx, 0xd4004226
and al, byte [edx]
sub byte [ebx], ah
inc edx
add byte [0xb0004224], ah
aam 0x22
inc edx
add byte [eax], ch
and eax, dword [edx]
and eax, 0xb0004224
and eax, dword [edx]
mov al, 0x23
inc edx
add byte [eax - 0x4fffbddd], dh
and eax, dword [edx]
mov dl, 0x23
inc edx
add al, ah
and eax, dword [edx]
in eax, dx
and eax, dword [edx]
loopne 0x446efd
inc edx
add al, ah
and eax, dword [edx]
loopne 0x446f05
inc edx
add dl, ah
and eax, dword [edx]
add byte [edx + eax*2], ah
add byte [eax], al
and al, 0x42
add byte [edx], al
and al, 0x42
add byte [eax], al
and al, 0x42
add byte [0x10004224], ah
and al, 0x42
add byte [eax], dl
and al, 0x42
add byte [eax], dl
and al, 0x42
add byte [eax], dl
and al, 0x42
add byte [edx], dl
and al, 0x42
add byte [edi], dh
and al, 0x42
add byte [esp + 0x42], al
add cl, cl
and al, 0x42
add bh, cl
and al, 0x42
add ch, ah
and eax, 0x251a0042
inc edx
add byte [edx], al
and eax, 0x251a0042
inc edx
add cl, bl
and al, 0x42
add byte [ecx + 0x22], dl
inc edx
add byte [ebx - 0x3fffbde2], ah
push ds
inc edx
add dh, al
push ds
inc edx
add bh, ch
push ds
inc edx
add ah, cl
push ds
inc edx
add al, ah
push ds
inc edx
add al, ah
push ds
inc edx
add bh, ch
push ds
inc edx
add ah, dl
sbb eax, dword [edx]
mov al, byte [0xb000421f]
pop ds
inc edx
add ch, ch
sbb eax, dword [edx]
pushfd
sbb al, 66
add byte [ecx + 0x100421c], ch
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [0x1004214], ch
add byte [eax], al
add byte [ecx], dl
sub al, byte [edx]
shl byte [esi], cl
inc edx
add byte [ecx], dl
sub al, byte [edx]
dec edi
sub eax, 65602
add byte [eax], al
add dword [eax], eax
add byte [eax], al
add byte [ecx], bh
inc edx
add byte [ecx], al
add byte [eax], al
add bl, cl
sub eax, 0x2e0e0042
inc edx
add cl, dl
sub eax, 0x2dda0042
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], dh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [eax + 0x38], ah
inc edx
add byte [esi + 0x60004238], dl
cmp byte [edx], al
sal byte [esi], 0x42
add byte [edx - 805289417], bh
aaa
inc edx
add al, dl
das
inc edx
add ch, ch
aaa
inc edx
add byte [ecx], ch
cmp byte [edx], al
dec edi
cmp byte [edx], al
jmp 0x447022
inc edx
add bh, bh
xor eax, dword [edx]
and byte [edx + eax*2], dh
add byte [eax], ah
xor al, 0x42
add byte [ecx], ch
cmp byte [edx], al
and byte [edx + eax*2], dh
add byte [edi], ch
cmp byte [edx], al
shr byte [edi], 1
inc edx
add byte [eax + 0x38], al
inc edx
add byte [0xd0004238], dh
das
inc edx
add byte [eax + 0x38], al
inc edx
add ch, al
aaa
inc edx
add byte [eax], dh
xor al, 0x42
add byte [eax - 0x6fffbdca], ah
inc edx
add byte [eax], dh
xor al, 0x42
add byte [eax - 0xfffbdca], ah
sub eax, 0x30a00042
inc edx
add byte [eax - 0x6fffbdcd], dl
xor eax, dword [edx]
xchg edx, eax
xor eax, dword [edx]
nop
xor eax, dword [edx]
cwde
xor eax, dword [edx]
mov edi, 0xb0004233
xor eax, dword [edx]
sahf
xor eax, dword [edx]
mov al, 0x33
inc edx
add byte [edi + 0x1004233], bh
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edi - 0x3affbdcd], bh
xor eax, dword [edx]
invalid
xchg edx, eax
inc edx
add byte [edx + edx*4 + 0x42], bh
add byte [ecx - 0x12ffbd6e], ch
xchg edx, eax
inc edx
add ch, cl
xchg edx, eax
inc edx
add ch, ch
xchg edx, eax
inc edx
add byte [eax], bl
xchg ebx, eax
inc edx
add ah, ch
xchg ebx, eax
inc edx
add byte [esi], bh
xchg ebx, eax
inc edx
add ah, ch
xchg ebx, eax
inc edx
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 ah, ch
xchg ebx, eax
inc edx
add dh, bh
xchg ebx, eax
inc edx
add byte [0x44004294], cl
xchg ebx, eax
inc edx
add byte [ebx - 0x6cffbd6d], dl
xchg ebx, eax
inc edx
add ah, ah
xchg ebx, eax
inc edx
add bl, dl
cwde
inc edx
add dh, bl
cwde
inc edx
add dh, bh
pushfd
inc edx
add byte [edi], al
popfd
inc edx
add byte [ebx - 0x2f], dh
inc edx
add byte [ecx + 0x1f0042d2], al
loope 0x447af5
add byte [ecx + 0x30042d2], al
in eax, 0x42
add ch, ch
fadd dword [edx]
lahf
mov ah, 66
add byte [edx], ah
leave
inc edx
add byte [edx], ah
leave
inc edx
add byte [ecx + 0x4b0042d8], dl
jecxz 0x447b15
add byte [ecx], bl
in eax, 0x42
add byte [esi - 0x2e], bl
inc edx
add dh, dh
loop 0x447b21
add byte [ebx + 0x5b0042e3], cl
loope 0x447b29
add byte [ebx + 0x3b0042e3], cl
out 0x42, al
add byte [esi], dh
mov dword [0xbe430042], eax
inc edx
add byte [ebx - 0x42], al
mov esi, 0xbe430042
inc edx
add byte [edx], dh
mov esi, 0xe60e0042
inc edx
add bh, al
fadd dword [edx]
invalid
mov ah, 0x42
add byte [eax + 0x7f0042d8], al
mov ah, 0x42
add ch, bh
mov byte [0xa2d70042], al
inc edx
add byte [eax + 0x1b0042bd], dh
mov eax, 0xe57c0042
inc edx
mov ebp, 0xb81b0042
inc edx
add byte [ebp + 0x42], bh
add byte [ebx], bl
mov eax, 0xd4990042
inc edx
add al, ah
fld qword [edx]
or eax, 0xce0042d9
call 3438115724
inc edx
add byte [edi], al
jmp 0xb1f17b94