Function at 0x42fd10
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x80
mov edi, dword [0x455718]
mov dword [esp + 0x1c], 0xd10dcf2b
mov dword [esp + 0x20], 0xd562d360
mov dword [esp + 0x24], 0xd975d710
mov dword [esp + 0x28], 0xdd79db6c
mov dword [esp + 0x2c], 0xa102df3b
mov dword [esp + 0x30], 0xa513a36e
mov dword [esp + 0x34], 0xa901a710
mov dword [esp + 0x38], 0xad09ab18
mov dword [esp + 0x3c], 0xb143af08
mov dword [esp + 0x40], 0xb56eb35d
mov dword [esp + 0x44], 0xb911b701
mov dword [esp + 0x48], 0xbd0fbb0d
mov dword [esp + 0x4c], 0x810fbf17
mov dword [esp + 0x50], 0x856c832e
mov dword [esp + 0x54], 0x8929873c
mov dword [esp + 0x58], 0x8d8a8b24
mov byte [esp + 0x5c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42fde6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.00432260
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42fdc0
lea esi, [esp + 0x7c]
lea eax, [esp + 0x1c]
push esi
push 0
push 0
push 0x1f
push eax
push 0
call edi
mov edi, dword [esp + 0x7c]
test edi, edi
jns 0x42fe09
mov eax, 0xffffffff
jmp 0x42fe0c
lea eax, [edi + edi]
push eax
call fcn.0040ca90
add esp, 4
mov ebp, eax
mov ebx, dword [0x455718]
mov dword [esp + 0x1c], 0x3373316d
mov dword [esp + 0x20], 0x2fbe2dbc
mov dword [esp + 0x24], 0x2b8b2994
mov dword [esp + 0x28], 0x278725a8
mov dword [esp + 0x2c], 0x2386217d
mov dword [esp + 0x30], 0x1f891daa
mov dword [esp + 0x34], 0x1b871994
mov dword [esp + 0x38], 0x17b71584
mov dword [esp + 0x3c], 0x1349118c
mov dword [esp + 0x40], 0xfaa0d57
mov dword [esp + 0x44], 0xb97099b
mov dword [esp + 0x48], 0x7950597
mov dword [esp + 0x4c], 0x3950199
mov dword [esp + 0x50], 0x7f287dea
mov dword [esp + 0x54], 0x7bef79f0
mov dword [esp + 0x58], 0x777675e0
mov word [esp + 0x5c], 0
mov byte [esp + 0x5e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x42
ja 0x42fee6
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.004322c0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x43
jb 0x42fec0
push esi
push edi
push ebp
push 0x1f
lea eax, [esp + 0x2c]
push eax
push 0
call ebx
lea eax, [esp + 0x68]
push 0x60
push 3
push 0x120089
push eax
push ebp
call fcn.004495b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x451a20]
xor eax, eax
jmp dword [0x451b18]
push ebp
mov esi, eax
call fcn.0040caa0
mov eax, esi
add esp, 4
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x70]
call fcn.004498f0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x451a28]
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040ca90
add esp, 4
push 0
push esi
mov dword [esp + 0x78], eax
push eax
push dword [esp + 0x74]
call fcn.004499d0
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 0xc], 0
jmp dword [eax*4 + 0x451a30]
mov eax, dword [case.0x430267.33]
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x451b00]
push dword [esp + 0x70]
call fcn.0040caa0
add esp, 4
mov eax, dword [case.0x42ff10.2]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov esi, dword [esp + 0x68]
mov dword [esp + 0x1c], 0x282b2a25
mov dword [esp + 0x20], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x430016
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.00431cc0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x42fff0
mov eax, dword [0x45571c]
test eax, eax
je 0x43004c
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov edi, dword [0x455720]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x430040
inc edx
cmp eax, edx
jne 0x430030
jmp 0x43004c
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x4305c5
mov eax, dword [esp + 0xc]
and al, 1
jmp dword [0x451b18]
mov eax, dword [esp + 0x78]
mov esi, dword [esp + 0x70]
mov byte [esi + eax], 0
mov dword [esp + 0xc], 0
nop
nop
nop
nop
mov dword [esp + 0x1c], 0x5e46585e
mov dword [esp + 0x20], 0x524b5c4a
mov word [esp + 0x24], 0x1b7d
mov byte [esp + 0x26], 0x3a
lea eax, [esp + 0x27]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xf
ja 0x4300d6
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.00432310
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x10
jb 0x4300b0
movzx ecx, byte [esp + 0x1c]
test cl, cl
je 0x430120
lea eax, [esp + 0x1c]
mov edi, esi
jmp 0x4300f7
movzx ecx, byte [eax]
test cl, cl
je 0x430132
movzx edx, byte [esi]
test dl, dl
je 0x430130
inc esi
inc eax
lea ebx, [edi + 1]
cmp dl, cl
je 0x43010b
mov edi, ebx
mov esi, ebx
je 0x4300f0
lea eax, [esp + 0x1c]
jmp 0x4300f0
mov edi, esi
jmp 0x430132
xor edi, edi
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x451a38]
lea esi, [edi + 0xa]
movzx eax, byte [edi + 0xa]
xor edx, edx
test al, al
je 0x430162
mov ecx, esi
nop
cmp al, 0x22
je 0x430160
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x430150
jmp 0x430162
mov edx, ecx
mov ebx, edx
sub ebx, esi
xor eax, eax
cmp ebx, 5
setb al
jmp dword [eax*4 + 0x451a40]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x451a48]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x451a50]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x451a58]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x451a60]
mov dword [esp + 0x10], edx
mov dword [esp + 0x6c], ebp
mov eax, ebx
inc eax
lea eax, [ebx + ebx + 2]
jns 0x4301cb
mov eax, 0xffffffff
push eax
call fcn.0040ca90
add esp, 4
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ebx
lea ecx, [eax + ebx*2]
mov edx, eax
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
cmp eax, ecx
mov ebp, dword [esp + 0x10]
jae 0x430243
mov edx, dword [esp + 4]
cmp esi, ebp
jae 0x430243
mov edx, dword [esp + 4]
mov ebx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx], 0
je 0x430243
lea eax, [esp + 0x1c]
push eax
push ebp
push ebx
mov dword [esp + 0x24], edx
call fcn.00412030
mov edx, dword [esp + 0x24]
add esp, 0xc
movzx ecx, word [esp + 0x1c]
mov word [edx], cx
add edx, 2
cmp edx, dword [esp + 8]
jae 0x430243
add ebx, eax
cmp ebx, ebp
jb 0x430210
mov word [edx], 0
push 0x60
push 3
push 0x120089
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x14]
call fcn.004495b0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x451a78]
mov eax, dword [esp + 0x10]
mov esi, eax
mov ebp, dword [esp + 0x6c]
jmp dword [0x451ae8]
jmp dword [0x451a70]
push 0
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x6c]
call fcn.004498f0
add esp, 0xc
mov ebx, dword [esp + 0x74]
test eax, eax
setns al
cmp ebx, 0x100000
setb cl
and cl, al
movzx eax, cl
mov ebp, dword [esp + 0x6c]
jmp dword [eax*4 + 0x451a90]
push ebx
call fcn.0040ca90
add esp, 4
push 0
push ebx
mov dword [esp + 0x20], eax
push eax
push dword [esp + 0x70]
call fcn.004499d0
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp + 4]
jmp dword [eax*4 + 0x451a98]
add ecx, 2
test bx, bx
je 0x430310
mov eax, edx
movzx ebx, word [ecx]
mov edx, ecx
cmp bx, 0x5c
je 0x4302f0
mov edx, eax
jmp 0x4302f0
mov ecx, dword [esp + 4]
xor edx, edx
jmp dword [0x451aa8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x451ab0]
mov dword [esp + 0x60], 0
xor eax, eax
mov ebx, dword [esp + 0x14]
jmp 0x43034f
sub eax, dword [esp + 4]
sar eax, 1
lea ecx, [eax + 1]
mov dword [esp + 0x60], ecx
not eax
mov ebx, dword [esp + 0x14]
add eax, ebx
add eax, 0x1b
push eax
call fcn.0040ca90
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x60]
sub ebx, ecx
mov dword [esp + 0x1c], 0x444244b9
mov dword [esp + 0x20], 0x495f414e
mov dword [esp + 0x24], 0x52b49944
mov dword [esp + 0x28], 0xb0756870
mov dword [esp + 0x2c], 0x6e7e7696
mov dword [esp + 0x30], 0xa4626c7c
mov word [esp + 0x34], 0xbea3
mov byte [esp + 0x36], 0xca
lea eax, [esp + 0x27]
mov byte [eax + 0x14], 0
mov dword [eax + 0x10], 0
add esi, ecx
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x4303f6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.00432370
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x4303d0
movzx ecx, byte [esp + 0x1c]
mov eax, dword [esp + 8]
test cl, cl
je 0x43041b
lea edx, [esp + 0x1d]
mov eax, dword [esp + 8]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x430410
mov byte [eax], 0
test ebx, ebx
mov edx, dword [esp + 0x60]
je 0x43045b
add edx, edi
mov ecx, dword [esp + 0x10]
sub ecx, edx
add ecx, 0xfffffff5
mov edi, ebx
and edi, 3
je 0x430463
mov dword [esp + 0x14], ebx
xor edx, edx
movzx ebx, byte [esi]
cmp bl, 1
sbb esi, 0xffffffff
mov byte [eax + edx], bl
inc edx
cmp edi, edx
jne 0x43043e
add eax, edx
mov ebx, dword [esp + 0x14]
sub ebx, edx
mov edx, eax
jmp 0x430463
mov edx, eax
mov edi, dword [esp + 8]
jmp 0x4304a5
cmp ecx, 3
mov edi, dword [esp + 8]
jb 0x4304a5
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 1], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
mov byte [eax + 2], cl
movzx ecx, byte [esi]
cmp cl, 1
sbb esi, 0xffffffff
lea edx, [eax + 4]
mov byte [eax + 3], cl
mov eax, edx
add ebx, 0xfffffffc
jne 0x43046c
mov byte [edx], 0
mov ecx, dword [esp + 0x94]
push dword [esp + 0x74]
push dword [esp + 0x1c]
push edi
call fcn.0040d660
mov ecx, dword [esp + 0xc]
and cl, 1
or cl, al
mov dword [esp + 0xc], ecx
jmp dword [0x451ab8]
jmp dword [0x451ac0]
push edi
call fcn.0040caa0
add esp, 4
nop
push edi
call fcn.0040caa0
add esp, 4
jmp dword [0x451acc]
jmp dword [0x451ad8]
jmp dword [0x451ae0]
push dword [esp + 0x18]
call fcn.0040caa0
add esp, 4
mov esi, dword [esp + 0x64]
mov dword [esp + 0x1c], 0x282b2a25
mov dword [esp + 0x20], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x430556
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x1c]
push dword [esp]
push eax
call fcn.00431cc0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x430530
mov eax, dword [0x45571c]
test eax, eax
je 0x430588
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov edi, dword [0x455720]
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x430580
inc edx
cmp eax, edx
jne 0x430570
jmp 0x430588
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x4305a7
mov eax, dword [esp + 0x10]
mov esi, eax
jmp dword [0x451ae8]
push dword [esp + 4]
mov esi, eax
call fcn.0040caa0
add esp, 4
jmp case.0x430267.29
push esi
push 1
push dword [0x455724]
push eax
call fcn.00445bb0
add esp, 0x10
mov eax, dword [esp + 0x10]
mov esi, eax
jmp dword [0x451ae8]
push esi
push 1
push dword [0x455724]
push eax
call fcn.00445bb0
add esp, 0x10
mov eax, dword [esp + 0xc]
and al, 1
jmp dword [0x451b18]
int3
push eax
mov dword [esi + 0x12c], esp
push eax
mov dword [esi + 0xe8], esp
sub esp, 0x14
mov dword [esi + 0xd0], esp
sub esp, 0x18
mov dword [esi + 0xec], esp
sub esp, 8
mov dword [esi + 0x158], esp
sub esp, 0x14
mov dword [esi + 0xf0], esp
sub esp, 0xc
mov dword [esi + 0xb8], esp
sub esp, 8
mov dword [esi + 4], esp
sub esp, 0x10
mov dword [esi + 0xa0], esp
sub esp, 0x10
mov dword [esi + 0xb0], esp
push eax
mov dword [esi + 0x170], esp
sub esp, 0x14
mov dword [esi + 0x174], esp
sub esp, 8
mov edx, esp
sub esp, 0x1c
mov ebx, esp
sub esp, 0x104
mov edi, esp
push eax
mov dword [esi + 0x15c], esp
sub esp, 0x10
mov dword [esi + 0x160], esp
sub esp, 0x200
mov ecx, esp
push eax
mov dword [esi + 0x178], esp
sub esp, 0x10
mov dword [esi + 0xac], esp
sub esp, 0x200
mov eax, esp
mov dword [esi + 0x110], ebx
mov dword [esi + 0xd4], edi
mov dword [esi + 0xc8], edx
mov dword [esi + 0xdc], ecx
mov dword [esi + 0x120], eax
push eax
mov dword [esi + 0x17c], esp
sub esp, 0x14
mov dword [esi + 0x98], esp
sub esp, 0x10
mov dword [esi + 0xc4], esp
push eax
mov dword [esi + 0x180], esp
sub esp, 0x14
mov dword [esi + 0x184], esp
sub esp, 0xac
mov dword [esi + 0xa8], esp
sub esp, 0x14
mov dword [esi + 0x188], esp
sub esp, 0x14
mov dword [esi + 0x18c], esp
sub esp, 0xc
mov dword [esi + 0x138], esp
sub esp, 0xc
mov dword [esi + 0x134], esp
sub esp, 0x10
mov dword [esi + 0x130], esp
sub esp, 0x10
mov dword [esi + 0xf4], esp
sub esp, 0x10
mov dword [esi + 0xd8], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x194], eax
mov esp, eax
push eax
sub esp, 8
mov dword [esi + 0x190], esp
sub esp, 8
mov dword [esi + 0x100], esp
sub esp, 0x10
mov dword [esi + 0x104], esp
sub esp, 0x10
mov dword [esi + 0x198], esp
sub esp, 0x14
mov dword [esi + 0xbc], esp
sub esp, 0x30
mov dword [esi + 0xe0], esp
sub esp, 0x30
mov dword [esi + 0x19c], esp
sub esp, 0x14
mov dword [esi + 0xc], esp
sub esp, 0x2c
mov dword [esi + 0x10c], esp
push eax
mov dword [esi + 0x124], esp
sub esp, 0x18
mov dword [esi + 0x10], esp
sub esp, 0x14
mov dword [esi + 0xc0], esp
sub esp, 0xc
mov dword [esi + 0xfc], esp
sub esp, 0x1c
mov ebx, esp
sub esp, 8
mov edi, esp
sub esp, 0x348
mov dword [esi + 0xb4], esp
sub esp, 0xdc
mov dword [esi + 0x16c], esp
sub esp, 0xc
mov dword [esi + 0x164], esp
sub esp, 0xc
mov dword [esi + 0x168], esp
sub esp, 0x1c
mov dword [esi + 0xf8], esp
sub esp, 0x10
mov dword [esi + 0x118], esp
push 0x1000
call fcn.0040ca90
add esp, 4
mov dword [esi + 0xe4], eax
mov dword [esi + 0x148], 0x217e4066
mov dword [esi + 0x14c], 0x5f0a0733
mov word [esi + 0x150], 0x9774
mov dword [esi + 0x152], 0
mov byte [esi + 0x156], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xe
ja 0x43266c
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [esi + eax + 0x148]
push dword [esi + 0x30]
push eax
call fcn.0043bc00
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [esi + ecx + 0x148], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xf
jb 0x432640
mov dword [esi + 0x114], ebx
mov dword [esi + 0x11c], edi
mov edi, dword [0x44e6f4]
mov dword [esi + 0x14], 0x18363cde
mov dword [esi + 0x18], 0x7a786767
mov dword [esi + 0x1c], 0x7e606c7b
mov dword [esi + 0x20], 0x69697460
mov word [esi + 0x24], 0x391e
mov byte [esi + 0x26], 0xa6
mov dword [esi + 0x27], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x16
ja 0x4326e6
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [esi + eax + 0x14]
push dword [esi + 0x30]
push eax
call fcn.0043bbb0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [esi + ecx + 0x14], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x17
jb 0x4326c0
mov ebx, dword [str.4SD0y4__LegendUnique]
mov dword [esi + 0x30], 0x5680e1e3
mov dword [esi + 0x34], 0xa8a8e55d
mov dword [esi + 0x38], 0xbfea935f
mov dword [esi + 0x3c], 0xa38eed8b
mov dword [esi + 0x40], 0x929f9c65
mov dword [esi + 0x44], 0x98619a9a
mov dword [esi + 0x48], 0xd8f0926a
mov dword [esi + 0x4c], 0x666bbfdc
mov dword [esi + 0x50], 0x8f8792c6
mov dword [esi + 0x54], 0x888ac588
mov dword [esi + 0x58], 0xcbb07a8f
mov dword [esi + 0x5c], 0x827b81ac
mov dword [esi + 0x60], 0x727f707d
mov dword [esi + 0x64], 0x83737e86
mov dword [esi + 0x68], 0x118e767a
mov dword [esi + 0x6c], 0x8a523d31
mov dword [esi + 0x70], 0x40636c6d
mov dword [esi + 0x74], 0x92442556
mov dword [esi + 0x78], 0x516e6561
mov dword [esi + 0x7c], 0x9b6d422c
mov dword [esi + 0x80], 0x13661110
mov dword [esi + 0x84], 0x63646566
mov dword [esi + 0x88], 0x771a1432
mov dword [esi + 0x8c], 0x1f647975
mov byte [esi + 0x90], 0x20
mov dword [esi + 0x91], 0
mov dword [esi + 0x13c], 0
mov eax, dword [esi + 0x13c]
cmp eax, 0x64
ja 0x432805
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x13c]
movzx eax, byte [esi + eax + 0x30]
push dword [esi + 0x13c]
push eax
call fcn.0043bb70
add esp, 8
mov ecx, dword [esi + 0x13c]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 0x13c]
mov eax, dword [esi + 0x13c]
cmp eax, 0x65
jb 0x4327d0
movzx eax, byte [esi + 0x30]
mov ecx, dword [esi + 0xe4]
mov edx, ecx
test al, al
je 0x43282b
mov edx, ecx
lea ecx, [esi + 0x31]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432820
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [ebx]
test al, al
je 0x43284b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x432840
mov edx, ecx
mov byte [ecx], 0
movzx eax, byte [esi + 0x14]
test al, al
je 0x43287d
lea ecx, [esi + 0x15]
mov ebx, dword [esi + 0xa0]
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 0x432870
jmp 0x432883
mov ebx, dword [esi + 0xa0]
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x43289b
inc edi
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x432890
mov byte [ecx], 0
movzx eax, byte [esi + 0x148]
test al, al
mov edi, ecx
je 0x4328cb
lea ecx, [esi + 0x149]
nop
nop
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 0x4328c0
mov byte [edi], 0
push 0
call fcn.004489a0
add esp, 4
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x452188]
jmp 0x432ac3
mov dword [esi + 8], edi
movzx edi, word [eax]
test di, di
je 0x432a81
mov dword [esi + 0xcc], eax
mov edx, eax
add edx, 2
xor ecx, ecx
jmp 0x43291f
mov ecx, eax
add ecx, ebx
movzx edi, word [edx]
add edx, 2
test di, di
je 0x432943
mov eax, ecx
movzx ecx, di
cmp ecx, 0x800
mov edi, 3
sbb edi, 0
mov ebx, 1
cmp ecx, 0x80
jb 0x432910
mov ebx, edi
jmp 0x432910
mov edx, dword [esi + 0xcc]
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.0040c9f0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x432a8d
lea edi, [eax + ecx]
mov dword [esi + 0x1a0], edi
inc ecx
add ecx, eax
mov edi, eax
mov dword [esi + 0x108], ecx
jmp 0x43299b
mov byte [edi], bl
mov dword [esi + 0x2c], 1
add edx, 2
add edi, dword [esi + 0x2c]
cmp edi, dword [esi + 0x1a0]
jae 0x432a8f
movzx ebx, word [edx]
test bx, bx
je 0x432a8f
cmp bx, 0x7f
jbe 0x432980
mov dword [esi + 0xcc], edx
mov dword [esi + 0x128], edi
mov edx, edi
not edx
add edx, ecx
movzx edi, bx
mov dword [esi + 0xa4], edi
cmp edx, 2
jb 0x432a20
cmp dword [esi + 0xa4], 0x7ff
ja 0x432a20
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edi, dword [esi + 0x128]
mov byte [edi], cl
mov ecx, ebx
xor ecx, 0xc0
or ebx, 0x3f
and ebx, ecx
mov ecx, dword [esi + 0x108]
add bl, 0x80
mov byte [edi + 1], bl
mov dword [esi + 0x2c], 2
mov edx, dword [esi + 0xcc]
jmp 0x432989
mov dword [esi + 0x2c], 0
cmp edx, 3
mov edx, dword [esi + 0xcc]
mov edi, dword [esi + 0x128]
jb 0x432989
mov ecx, dword [esi + 0xa4]
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, dword [esi + 0x108]
shr dword [esi + 0xa4], 6
mov dword [esi + 0x2c], ebx
mov ebx, dword [esi + 0xa4]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ebx, dword [esi + 0x2c]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov dword [esi + 0x2c], 3
jmp 0x432989
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
jmp 0x432a95
mov edi, eax
mov ebx, dword [esi + 0xa0]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x432abd
inc eax
mov edi, dword [esi + 8]
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 0x432ab0
jmp 0x432ac0
mov edi, dword [esi + 8]
mov byte [edi], 0
mov byte [edi], 0xa
inc edi
lea eax, [esi + 0x30]
push eax
call fcn.00434a10
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x452190]
jmp 0x432fbe
mov dword [esi + 8], edi
lea eax, [esi + 0x148]
push 0xa
push 0xb
push eax
push dword [esi + 0x30]
call fcn.004364f0
add esp, 0x10
mov ebx, eax
lea eax, [esi + 0x13c]
push 0xa
push 0xb
push eax
push dword [esi + 0x34]
call fcn.004364f0
add esp, 0x10
mov dword [esi + 0xa4], eax
lea eax, [esi + 0x1a5]
push 0xa
push 0xb
push eax
push dword [esi + 0x38]
call fcn.004364f0
add esp, 0x10
mov dword [esi + 0x2c], eax
mov edi, dword [esi + 0x40]
mov dword [esi + 0x14], 0xc4b2a48a
mov dword [esi + 0x18], 0xd2c08dff
mov dword [esi + 0x1c], 0xdcd3dada
mov dword [esi + 0x20], 0xa786efd2
mov dword [esi + 0x24], 0
mov dword [esi + 0x9c], 0
mov eax, dword [esi + 0x9c]
cmp eax, 0x13
ja 0x432ba5
nop
nop
nop
mov eax, dword [esi + 0x9c]
movzx eax, byte [esi + eax + 0x14]
push dword [esi + 0x9c]
push eax
call fcn.0043bca0
add esp, 8
mov ecx, dword [esi + 0x9c]
mov byte [esi + ecx + 0x14], al
inc dword [esi + 0x9c]
mov eax, dword [esi + 0x9c]
cmp eax, 0x14
jb 0x432b70
movzx eax, byte [esi + 0x14]
test al, al
je 0x432bcd
lea ecx, [esi + 0x15]
mov edx, dword [esi + 8]
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 0x432bc0
jmp 0x432bd0
mov edx, dword [esi + 8]
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x432bfd
inc edi
mov edx, dword [esi + 0xa4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x432bf0
jmp 0x432c03
mov edx, dword [esi + 0xa4]
mov word [ecx], 0x2820
add ecx, 2
movzx eax, byte [ebx]
test al, al
mov edi, ecx
je 0x432c2d
inc ebx
mov ecx, dword [esi + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x432c20
jmp 0x432c30
mov ecx, dword [esi + 0x2c]
mov byte [edi], 0x2e
inc edi
movzx eax, byte [edx]
test al, al
je 0x432c5d
inc edx
mov ebx, dword [esi + 0xa0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x432c50
jmp 0x432c63
mov ebx, dword [esi + 0xa0]
mov byte [edi], 0x2e
inc edi
movzx eax, byte [ecx]
test al, al
je 0x432c7b
inc ecx
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432c70
mov byte [edi], 0x29
inc edi
lea eax, [esi + 0x9c]
push eax
call fcn.004493c0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x452198]
mov ecx, dword [esi + 0xd0]
jmp 0x432d7e
mov byte [edi], 0x20
xor eax, eax
cmp dword [esi + 0x9c], 1
sete al
jmp dword [eax*4 + 0x4521a0]
mov edx, dword [esi + 0xe8]
mov dword [edx], 0x4f1a03c0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 3
ja case.0x430267.52
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [edx + eax]
push dword [esi + 0x14]
push eax
call fcn.0043bd50
add esp, 8
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xe8]
mov byte [edx + ecx], al
mov edx, dword [esi + 0xe8]
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 4
jb 0x432ce0
jmp case.0x430267.52
mov edx, dword [esi + 0x12c]
mov dword [edx], 0x513c3af4
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 3
ja case.0x430267.52
nop
nop
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [edx + eax]
push dword [esi + 0x14]
push eax
call fcn.0043bd00
mov edx, dword [esi + 0x12c]
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [edx + ecx], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 4
jb 0x432d30
inc edi
movzx eax, byte [edx]
test al, al
mov ecx, dword [esi + 0xd0]
je 0x432d7b
inc edx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x432d70
mov byte [edi], 0
mov dword [ecx], 0x4772640a
mov dword [ecx + 4], 0xdbcfcedb
mov dword [ecx + 8], 0xe7cb3508
mov dword [ecx + 0xc], 0x67062fd9
mov dword [ecx + 0x10], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x13
ja 0x432de0
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [ecx + eax]
push dword [esi + 0x14]
push eax
call fcn.0043bdb0
add esp, 8
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xd0]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xd0]
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x14
jb 0x432db0
movzx eax, byte [ecx]
test al, al
je 0x432dfb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432df0
mov byte [edi], 0
movzx eax, byte [esi + 0x44]
test al, al
je 0x432e1b
lea ecx, [esi + 0x45]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432e10
mov byte [edi], 0
mov ecx, dword [esi + 0xec]
mov dword [ecx], 0xbb6e9476
mov dword [ecx + 4], 0x63a7d0d5
mov dword [ecx + 8], 0xa2d4d2ae
mov dword [ecx + 0xc], 0x8f8f658a
mov word [ecx + 0x10], 0x79bf
mov dword [ecx + 0x12], 0
mov word [ecx + 0x16], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x17
ja 0x432ea0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [ecx + eax]
push dword [esi + 0x14]
push eax
call fcn.0043be10
add esp, 8
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xec]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xec]
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x18
jb 0x432e70
movzx eax, byte [ecx]
test al, al
je 0x432ebb
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432eb0
mov byte [edi], 0
movzx eax, word [esi + 0x58]
xor ecx, ecx
test ax, ax
setns cl
jmp dword [ecx*4 + 0x4521a8]
jmp 0x432edb
mov byte [edi], 0x2b
inc edi
movzx eax, word [esi + 0x58]
cwde
push 0xa
push 7
push dword [esi + 0x158]
push eax
call fcn.004367b0
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x432f0b
inc eax
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 0x432f00
mov byte [edi], 0
mov ecx, dword [esi + 0xf0]
mov dword [ecx], 0x562e3416
mov dword [ecx + 4], 0x62767a7e
mov dword [ecx + 8], 0x43267d7c
mov dword [ecx + 0xc], 0x557f7165
mov dword [ecx + 0x10], 0x1938
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x13
ja 0x432f80
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [ecx + eax]
push dword [esi + 0x14]
push eax
call fcn.0043be60
add esp, 8
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 0xf0]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xf0]
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 0x14
jb 0x432f50
movzx eax, byte [ecx]
test al, al
je 0x432f9b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432f90
mov byte [edi], 0
movzx eax, byte [esi + 0x5a]
test al, al
je 0x432fbb
lea ecx, [esi + 0x5b]
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432fb0
mov byte [edi], 0
mov eax, dword [esi + 0x40]
test eax, eax
je 0x432fce
push eax
call fcn.0040caa0
add esp, 4
call fcn.0043f120
movzx eax, al
jmp dword [eax*4 + 0x4521b0]
mov ecx, dword [esi + 4]
jmp dword [0x4521b8]
mov dword [ecx], 0xa4ae9496
mov dword [ecx + 4], 0x2793
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 7
ja case.0x430267.61
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043bf80
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 4]
mov byte [edx + ecx], al
mov ecx, dword [esi + 4]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 8
jb 0x433010
jmp case.0x430267.61
jmp dword [0x4521c4]
mov dword [ecx], 0xa4ae9496
mov dword [ecx + 4], 0x2793
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 7
ja 0x433040
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043bf80
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 4]
mov byte [edx + ecx], al
mov ecx, dword [esi + 4]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 8
jb 0x433070
jmp 0x433040
mov edx, dword [esi + 0xb8]
mov dword [edx], 0x2e393538
mov byte [edx + 4], 0x80
mov dword [edx + 5], 0
mov dword [edx + 8], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xb
ja 0x433102
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043bf10
mov edx, dword [esi + 0xb8]
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xc
jb 0x4330d0
jmp 0x433102
mov dword [esi + 0xb8], ecx
mov dword [ebx], 0x761e0026
mov dword [ebx + 4], 0x5644544c
mov dword [ebx + 8], 0x3525040
mov dword [ebx + 0xc], 0x4b68
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xf
ja 0x433154
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043bec0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x10
jb 0x433130
movzx eax, byte [ebx]
test al, al
je 0x43317d
inc ebx
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0xb8]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433170
jmp 0x433189
mov ecx, dword [esi + 0xb0]
mov edx, dword [esi + 0xb8]
mov byte [edi], 0
movzx eax, byte [edx]
test al, al
je 0x4331ab
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4331a0
mov byte [edi], 0
mov byte [ecx], 0
mov ebx, dword [esi + 0x170]
mov dword [ebx], 0x10
push 0xa031abd0
push dword [0x455710]
call fcn.00448a80
add esp, 8
push ebx
push dword [esi + 0xb0]
call eax
mov ebx, dword [esi + 0x174]
mov dword [ebx], 0x38165c7e
mov dword [ebx + 4], 0xeee2e0e7
mov dword [ebx + 8], 0x39e0dcec
mov word [ebx + 0xc], 0x7d1c
mov dword [ebx + 0xe], 0
mov byte [ebx + 0x12], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x12
ja 0x433244
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043bfe0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x13
jb 0x433220
movzx eax, byte [ebx]
test al, al
je 0x43326d
inc ebx
mov ecx, dword [esi + 0xb0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433260
jmp 0x433273
mov ecx, dword [esi + 0xb0]
mov byte [edi], 0
movzx eax, byte [ecx]
test al, al
je 0x43329d
inc ecx
mov ebx, dword [esi + 0x110]
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 0x433290
jmp 0x4332a3
mov ebx, dword [esi + 0x110]
mov dword [esi + 8], edi
mov byte [edi], 0
mov eax, dword [esi + 0xc8]
mov dword [eax], 0
mov dword [eax + 4], 0
mov edi, dword [0x454404]
mov dword [ebx], 0xff1af919
mov dword [ebx + 4], 0xe303fd66
mov dword [ebx + 8], 0xe70fe170
mov dword [ebx + 0xc], 0xeb3ce533
mov dword [ebx + 0x10], 0xef0ae93a
mov dword [ebx + 0x14], 0x937eed00
mov dword [ebx + 0x18], 0x9190
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x1b
ja 0x433334
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c030
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x1c
jb 0x433310
push 0x800
push 0
push ebx
call edi
mov edi, dword [esi + 0xc8]
mov ecx, edi
push eax
call fcn.00444a00
movzx eax, al
jmp dword [eax*4 + 0x4521c8]
jmp 0x433451
mov eax, edi
mov edi, dword [esi + 0xd4]
mov byte [edi], 0
mov ebx, dword [esi + 0x15c]
mov dword [ebx], 0x101
push 0x4de9976
push dword [eax]
call fcn.00448a80
add esp, 8
push ebx
push edi
call eax
mov edi, dword [esi + 0x160]
mov dword [edi], 0x2e72449a
mov dword [edi + 4], 0x450c300f
mov word [edi + 8], 0x9978
mov dword [edi + 0xa], 0
mov word [edi + 0xe], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xf
ja 0x4333e4
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c090
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x10
jb 0x4333c0
movzx eax, byte [edi]
test al, al
mov ecx, dword [esi + 8]
je 0x43340d
inc edi
mov edx, dword [esi + 0xd4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x433400
jmp 0x433413
mov edx, dword [esi + 0xd4]
mov byte [ecx], 0
movzx eax, byte [edx]
test al, al
je 0x43343d
inc edx
mov edi, dword [esi + 0xc8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x433430
jmp 0x433443
mov edi, dword [esi + 0xc8]
mov dword [esi + 8], ecx
mov byte [ecx], 0
push dword [edi]
call dword [0x454508]
push 0x52d6fd7
push dword [0x455710]
call fcn.00448a80
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xdc]
mov byte [eax], 0
mov ecx, dword [esi + 0x178]
mov dword [ecx], 0x200
push ecx
push eax
push 6
call edi
mov ecx, dword [esi + 0xac]
mov dword [ecx], 0xab968cee
mov dword [ecx + 4], 0x4a534047
mov dword [ecx + 8], 0xcfaeb742
mov byte [ecx + 0xc], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xc
ja 0x4334e0
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c0f0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xac]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xac]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xd
jb 0x4334b0
movzx eax, byte [ecx]
test al, al
je 0x43350d
inc ecx
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xdc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433500
jmp 0x433516
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0xdc]
mov ecx, ebx
mov byte [ebx], 0
movzx eax, byte [edx]
test al, al
je 0x43353b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x433530
mov ebx, ecx
mov byte [ecx], 0
mov eax, dword [esi + 0x120]
mov byte [eax], 0
mov ecx, dword [esi + 0x17c]
mov dword [ecx], 0x200
push ecx
push eax
push 5
call edi
mov ecx, dword [esi + 0x98]
mov dword [ecx], 0x419a68ba
mov dword [ecx + 4], 0x2f2a2a29
mov dword [ecx + 8], 0x7f29205b
mov word [ecx + 0xc], 0xb790
mov dword [ecx + 0xe], 0
mov byte [ecx + 0x12], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x12
ja 0x4335d0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c140
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x98]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0x98]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x13
jb 0x4335a0
movzx eax, byte [ecx]
test al, al
je 0x4335ed
inc ecx
mov edx, dword [esi + 0xc4]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4335e0
jmp 0x4335f3
mov edx, dword [esi + 0xc4]
mov ecx, ebx
mov byte [ebx], 0
mov ebx, dword [esi + 0x120]
movzx eax, byte [ebx]
test al, al
je 0x43361b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433610
mov ebx, ecx
mov byte [ecx], 0
mov byte [edx], 0
mov eax, dword [esi + 0x180]
mov dword [eax], 0x10
push eax
push edx
push 4
call edi
mov edi, dword [esi + 0x184]
mov dword [edi], 0x85767c5e
mov dword [edi + 4], 0x9a9ca9b9
mov dword [edi + 8], 0x7f988e83
mov byte [edi + 0xc], 0x5c
mov dword [edi + 0xd], 0
mov dword [edi + 0x10], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x13
ja 0x433694
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c190
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x14
jb 0x433670
movzx eax, byte [edi]
test al, al
je 0x4336bd
inc edi
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xc4]
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4336b0
jmp 0x4336c9
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xc4]
mov byte [ebx], 0
movzx eax, byte [edx]
test al, al
je 0x4336eb
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edx]
inc edx
test al, al
jne 0x4336e0
mov byte [ebx], 0
mov word [ecx], 0
push 0xfc327aac
push dword [0x455710]
mov edi, ecx
call fcn.00448a80
add esp, 8
push 0x56
push edi
call eax
mov edi, dword [esi + 0x188]
mov dword [edi], 0xa792847a
mov dword [edi + 4], 0xc2d1cbdd
mov dword [edi + 8], 0x81d7d6d9
mov word [edi + 0xc], 0x45a4
mov dword [edi + 0xe], 0
mov word [edi + 0x12], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x13
ja 0x433774
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c1f0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x14
jb 0x433750
movzx eax, byte [edi]
test al, al
je 0x43379d
inc edi
mov ecx, dword [esi + 0xa8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x433790
jmp 0x4337a3
mov ecx, dword [esi + 0xa8]
mov byte [ebx], 0
lea eax, [ebx + 0x56]
mov dword [esi + 4], eax
xor edi, edi
mov dword [esi + 8], ebx
jmp 0x4337db
mov byte [ebx], dl
mov eax, 1
add ecx, 2
add edi, eax
mov eax, dword [esi + 8]
lea ebx, [eax + edi]
cmp edi, 0x55
jae 0x433887
movzx edx, word [ecx]
test dx, dx
je 0x433887
cmp dx, 0x7f
jbe 0x4337c0
mov dword [esi + 0xa8], ecx
mov ecx, ebx
not ecx
add ecx, dword [esi + 4]
movzx eax, dx
cmp ecx, 2
jb 0x433840
cmp eax, 0x7ff
ja 0x433840
mov eax, edx
shr eax, 6
add al, 0xc0
mov byte [ebx], al
mov eax, edx
xor eax, 0xc0
or edx, 0x3f
and edx, eax
add dl, 0x80
mov byte [ebx + 1], dl
mov eax, 2
mov ecx, dword [esi + 0xa8]
jmp 0x4337c7
mov dword [esi + 0x98], eax
xor eax, eax
cmp ecx, 3
mov ecx, dword [esi + 0xa8]
jb 0x4337c7
mov eax, dword [esi + 0x98]
shr eax, 0xc
or al, 0xe0
mov byte [ebx], al
mov eax, dword [esi + 0x98]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [ebx + 1], al
and dl, 0x3f
or dl, 0x80
mov byte [ebx + 2], dl
mov eax, 3
jmp 0x4337c7
mov byte [ebx], 0
mov ebx, dword [esi + 0x18c]
mov dword [ebx], 0xf2d2e4ca
mov dword [ebx + 4], 0xcfb7a1ba
mov dword [ebx + 8], 0xa6b8b086
mov word [ebx + 0xc], 0xefb7
mov byte [ebx + 0xe], 0x26
mov word [ebx + 0xf], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x10
ja 0x4338f4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c230
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x11
jb 0x4338d0
mov ecx, dword [esi + 8]
add ecx, edi
movzx eax, byte [ebx]
test al, al
je 0x43391b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433910
mov edi, ecx
mov byte [ecx], 0
call fcn.00436a20
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 0xac], ebx
jmp dword [eax*4 + 0x4521d0]
mov ecx, dword [esi + 0xf4]
mov dword [ecx], 0x29391c1a
mov dword [ecx + 4], 0x7e74765a
mov byte [ecx + 8], 4
mov dword [ecx + 9], 0
mov dword [ecx + 0xc], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xf
ja 0x4339a0
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c3d0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xf4]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xf4]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x10
jb 0x433970
movzx eax, byte [ecx]
test al, al
mov ebx, dword [esi + 0xd8]
je 0x4339bb
inc ecx
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4339b0
mov byte [edi], 0
jmp 0x433c71
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x452210]
mov eax, dword [esi + 0x130]
add eax, 0xa
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x134]
lea ecx, [eax + 5]
mov eax, dword [esi + 0x138]
add eax, 6
mov dword [esi + 8], eax
mov dword [edi], 0x202d090a
add edi, 4
mov edx, dword [ebx + 8]
movzx eax, byte [edx]
test al, al
je 0x433a2b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x433a20
mov byte [edi], 0
xor eax, eax
cmp byte [ebx + 4], 3
setb al
jmp dword [eax*4 + 0x4521d8]
mov byte [edi], 0x20
inc edi
mov dword [esi + 4], edi
movzx eax, byte [ebx + 4]
xor edx, edx
test al, al
sete dl
jmp dword [edx*4 + 0x4521e0]
xor edx, edx
cmp al, 1
sete dl
jmp dword [edx*4 + 0x4521f8]
mov edi, dword [esi + 0x130]
mov dword [edi], 0x404021b
mov dword [edi + 4], 0x1313071b
mov word [edi + 8], 0xe90d
mov eax, dword [esi + 0x98]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xc
ja 0x433ac4
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c360
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xd
jb 0x433aa0
mov eax, edi
jmp dword [0x452200]
mov edi, dword [esi + 0x138]
jmp dword [0x4521e8]
mov edi, dword [esi + 0x134]
mov dword [edi], 0xb6c4c6bb
mov byte [edi + 4], 0xec
mov dword [ecx + 3], 0
mov dword [ecx], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xb
ja 0x433b34
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c300
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xc
jb 0x433b10
mov eax, edi
jmp dword [0x452200]
mov dword [edi], 0x6d6c6a5f
mov word [edi + 4], 0x3551
mov eax, dword [esi + 8]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xb
ja case.0x43334f.8
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c2b0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xc
jb 0x433b70
mov dword [edi], 0x6d6c6a5f
mov word [edi + 4], 0x3551
mov eax, dword [esi + 8]
mov word [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xb
ja 0x433be4
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edi + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c2b0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xc
jb 0x433bc0
jmp dword [0x4521f0]
mov eax, edi
jmp dword [0x452200]
movzx ecx, byte [eax]
mov edx, dword [esi + 4]
test cl, cl
je 0x433c1b
lea edi, [eax + 1]
mov edx, dword [esi + 4]
mov byte [edx], cl
inc edx
movzx ecx, byte [edi]
inc edi
test cl, cl
jne 0x433c10
mov byte [edx], 0
movzx ecx, byte [eax]
mov edi, dword [esi + 4]
test cl, cl
je 0x433c3b
lea edx, [eax + 1]
mov edi, dword [esi + 4]
nop
nop
mov byte [edi], cl
inc edi
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x433c30
mov byte [edi], 0
jmp dword [0x45220c]
jmp dword [0x452218]
mov ecx, dword [esi + 0xac]
call fcn.004382a0
mov ebx, dword [esi + 0xd8]
push dword [esi + 0xac]
call fcn.0040caa0
add esp, 4
jmp 0x433c71
mov ebx, dword [esi + 0xd8]
mov dword [ebx], 0xd906f01e
mov dword [ebx + 4], 0x17ded8c9
mov word [ebx + 8], 0xdffc
mov dword [ebx + 0xa], 0
mov byte [ebx + 0xe], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xe
ja 0x433cc4
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c450
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xf
jb 0x433ca0
movzx eax, byte [ebx]
test al, al
je 0x433cdb
inc ebx
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433cd0
mov byte [edi], 0
movzx eax, byte [0x4543a8]
test al, al
je 0x433d01
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edi + ecx], al
movzx eax, byte [ecx + 0x4543a9]
inc ecx
test al, al
jne 0x433cf0
add edi, ecx
mov ebx, edi
mov byte [edi], 0
mov edi, dword [esi + 0x194]
mov dword [edi + 4], 0
mov dword [edi], 0
push 0xfd7a6173
push dword [0x455710]
call fcn.00448a80
add esp, 8
push edi
call eax
mov eax, dword [edi]
mov ecx, dword [edi + 4]
shld ecx, eax, 0x16
push 0xa
push 0xb
push dword [esi + 0x190]
push ecx
call fcn.004364f0
add esp, 0x10
mov edi, eax
mov edx, dword [esi + 0x100]
mov word [edx], 0x233d
mov byte [edx + 2], 0xe2
mov word [edx + 3], 0
mov byte [edx + 5], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 5
ja 0x433daa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c510
mov edx, dword [esi + 0x100]
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 6
jb 0x433d80
mov ecx, dword [esi + 0x104]
mov dword [ecx], 0xb9ee94f6
mov dword [ecx + 4], 0xb4e2b08d
mov dword [ecx + 8], 0x89a34f59
mov dword [ecx + 0xc], 0xc5e4
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xf
ja 0x433e10
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c4a0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0x104]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0x104]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x10
jb 0x433de0
movzx eax, byte [ecx]
test al, al
je 0x433e2b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433e20
mov ecx, ebx
mov byte [ebx], 0
movzx eax, byte [edi]
test al, al
mov edx, dword [esi + 0x100]
je 0x433e4b
inc edi
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x433e40
mov byte [ecx], 0
movzx eax, byte [edx]
test al, al
mov edi, ecx
je 0x433e6b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x433e60
xor eax, eax
xor ecx, ecx
cpuid
mov eax, dword [esi + 0x198]
mov dword [eax], ebx
mov ebx, eax
mov dword [eax + 4], edx
mov byte [edi], 0
mov dword [eax + 8], ecx
mov byte [eax + 0xc], 0
mov ecx, dword [esi + 0xbc]
mov dword [ecx], 0x30d224ca
mov dword [ecx + 4], 0x1ce001c
mov dword [ecx + 8], 0x7c767f75
mov dword [ecx + 0xc], 0xe7c62f76
mov dword [ecx + 0x10], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x13
ja 0x433ef0
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c560
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xbc]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xbc]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x14
jb 0x433ec0
movzx eax, byte [ecx]
test al, al
je 0x433f0b
inc ecx
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433f00
mov byte [edi], 0
movzx eax, byte [ebx]
test al, al
je 0x433f2b
inc ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x433f20
mov eax, reloc.OLEAUT32.dll_SysReAllocString
xor ecx, ecx
cpuid
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0xe0]
mov dword [ecx], eax
mov dword [ecx + 4], ebx
mov eax, dword [esi + 4]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0xe0]
mov dword [ecx + 0x10], eax
mov eax, ecx
mov dword [ecx + 0x14], ebx
mov ecx, dword [esi + 4]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov eax, SysStringLen
mov ecx, 0
cpuid
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0xe0]
mov dword [ecx + 0x20], eax
mov dword [esi + 8], edi
mov byte [edi], 0
mov eax, ecx
mov dword [ecx + 0x24], ebx
mov ecx, dword [esi + 4]
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], edx
mov edx, eax
mov ebx, dword [esi + 0x19c]
mov eax, ebx
add eax, 0x30
mov dword [esi + 0xbc], eax
mov dword [esi + 4], edx
mov edi, ebx
mov ecx, 0xc
mov eax, dword [esi + 4]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
add edx, 0x30
mov eax, dword [esi + 0xbc]
mov edi, eax
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov ecx, eax
dec ecx
xor edx, edx
cmp byte [eax - 1], 0x20
mov eax, dword [case.0x43334f.26]
sete dl
jmp dword [edx*4 + 0x452220]
mov byte [ecx], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor edx, edx
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete dl
jmp dword [edx*4 + 0x452220]
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x452238]
inc ebx
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x452238]
mov ecx, dword [esi + 0xc]
mov dword [ecx], 0x20425c7a
mov dword [ecx + 4], 0x39463034
mov dword [ecx + 8], 0x311f0419
mov word [ecx + 0xc], 0x7d5c
mov dword [ecx + 0xe], 0
mov word [ecx + 0x12], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x13
mov edi, dword [esi + 8]
ja 0x4340aa
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c5c0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xc]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xc]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x14
jb 0x434080
movzx eax, byte [ecx]
test al, al
je 0x4340cb
inc ecx
nop
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 0x4340c0
mov byte [edi], 0
movzx eax, byte [ebx]
test al, al
je 0x4340ec
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx + 1]
inc ebx
test al, al
jne 0x4340e0
mov byte [edi], 0
mov dword [esi + 0x30], 0x282b2a25
mov dword [esi + 0x34], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 7
ja 0x434136
nop
nop
nop
nop
mov eax, dword [esi + 0x14]
movzx eax, byte [esi + eax + 0x30]
push dword [esi + 0x14]
push eax
call fcn.0043c600
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x30], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x434110
mov dword [esi + 8], edi
mov eax, dword [esi + 0x30]
mov ecx, dword [0x45571c]
test ecx, ecx
je case.default.0x43418a
xor edx, edx
mov edi, dword [0x455720]
nop
nop
cmp dword [edi + edx*8], 0xc85f7986
je 0x434160
inc edx
cmp ecx, edx
jne 0x434150
jmp case.default.0x43418a
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x43418a
push 0
push 0x2c
push dword [esi + 0x10c]
push 0
push 4
push dword [0x455724]
push ecx
call fcn.00445bb0
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452240]
mov dword [esi + 4], 0
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x452258]
jmp dword [0x452254]
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
mov ecx, dword [esi + 0x10c]
movzx ecx, byte [ecx + 0x28]
mov dword [esi + 4], ecx
sete al
jmp dword [eax*4 + 0x452258]
mov eax, 0xb
mov ecx, 1
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
sete al
jmp dword [eax*4 + 0x452260]
movzx eax, byte [esi + 4]
mov dword [esi + 4], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x434937
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x4342f8
mov eax, 0xb
xor ecx, ecx
cpuid
sar ecx, 8
mov eax, ecx
xor eax, 0xffffff00
or ecx, 0xff
and ecx, eax
xor eax, eax
cmp ecx, 2
sete al
jmp dword [eax*4 + 0x452268]
mov eax, 0xb
mov ecx, 1
cpuid
sar ecx, 8
mov eax, ecx
xor eax, 0xffffff00
or ecx, 0xff
and ecx, eax
xor eax, eax
cmp ecx, 2
sete al
jmp dword [eax*4 + 0x452270]
movzx eax, byte [esi + 4]
mov dword [esi + 4], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x43496c
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x4342f8
mov eax, dword [case.0x43418a.17]
nop
nop
nop
jmp eax
xor eax, eax
test di, di
sete al
mov dword [esi + 4], ebx
jmp dword [eax*4 + 0x452288]
mov eax, ebx
xor edx, edx
div di
movzx eax, ax
jmp 0x4342fc
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4348fe
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x10]
movzx eax, word [esi + 4]
push 0xa
push 4
push dword [esi + 0x124]
push eax
call fcn.004382d0
add esp, 0x10
mov edi, eax
mov dword [ebx], 0x2ccad8ea
mov dword [ebx + 4], 0x39ce3438
mov dword [ebx + 8], 0x16190504
mov dword [ebx + 0xc], 0xd5c80214
mov byte [ebx + 0x10], 0xf4
mov dword [ebx + 0x11], 0
mov dword [ebx + 0x14], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x17
ja 0x434384
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c650
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x18
jb 0x434360
movzx eax, byte [ebx]
test al, al
je 0x43439d
inc ebx
mov ecx, dword [esi + 8]
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x434390
jmp 0x4343a0
mov ecx, dword [esi + 8]
mov edx, ecx
mov byte [ecx], 0
movzx eax, byte [edi]
test al, al
je 0x4343bd
inc edi
mov ecx, edx
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4343b0
jmp 0x4343bf
mov ecx, edx
mov ebx, ecx
mov byte [ecx], 0
movzx eax, byte [esi + 0xc]
push 0xa
push 4
push dword [esi + 0x124]
push eax
call fcn.0040e1a0
add esp, 0x10
mov edi, eax
mov ecx, dword [esi + 0xc0]
mov dword [ecx], 0xa8968c6e
mov dword [ecx + 4], 0xac92d8a4
mov dword [ecx + 8], 0xc0f3ffc3
mov word [ecx + 0xc], 0xad8a
mov byte [ecx + 0xe], 0x4a
mov dword [ecx + 0xf], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x12
ja 0x434450
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c6b0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xc0]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xc0]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x13
jb 0x434420
movzx eax, byte [ecx]
test al, al
je 0x43446d
inc ecx
mov edx, dword [esi + 0xfc]
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x434460
jmp 0x434473
mov edx, dword [esi + 0xfc]
mov ecx, ebx
mov byte [ebx], 0
movzx eax, byte [edi]
test al, al
je 0x43449d
inc edi
mov ebx, dword [esi + 0x114]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x434490
jmp 0x4344a3
mov ebx, dword [esi + 0x114]
mov byte [ecx], 0
mov dword [edx], 0xe4c2dc3a
mov dword [edx + 4], 0xc7ecf0f4
mov byte [edx + 8], 0x38
mov word [edx + 9], 0
mov byte [edx + 0xb], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xb
mov edi, ecx
ja 0x43450a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [edx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c700
mov edx, dword [esi + 0xfc]
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xc
jb 0x4344e0
movzx eax, byte [edx]
test al, al
je 0x43452b
inc edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [edx]
inc edx
test al, al
jne 0x434520
mov dword [esi + 8], edi
mov byte [edi], 0
mov edi, dword [0x454404]
mov dword [ebx], 0xe97feb7f
mov dword [ebx + 4], 0xed78ef43
mov dword [ebx + 8], 0xd184d3b9
mov dword [ebx + 0xc], 0xd572d782
mov dword [ebx + 0x10], 0xd976db78
mov dword [ebx + 0x14], 0xdfd8
mov byte [ebx + 0x18], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x18
ja 0x4345a4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c760
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x19
jb 0x434580
push 0x800
push 0
push ebx
call edi
mov edi, eax
mov ebx, dword [esi + 0x11c]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov ecx, ebx
push eax
call fcn.00444a00
movzx eax, al
jmp dword [eax*4 + 0x452290]
mov ebx, dword [esi + 0x118]
mov edi, dword [esi + 8]
jmp 0x43486d
mov dword [esi + 0xc], edi
mov edi, dword [esi + 0xb4]
lea eax, [edi + 4]
push 0x344
push 0
push eax
call fcn.0040cb10
add esp, 0xc
mov dword [edi], 0x348
push 0xc89947f6
push dword [ebx]
call fcn.00448a80
add esp, 8
push 0
push edi
push 0
push 0
call eax
mov ecx, edi
add ecx, 0x44
mov eax, dword [esi + 8]
lea edx, [eax + 0x80]
mov dword [esi + 0xc0], edx
mov dword [esi + 4], 0
jmp 0x434660
mov byte [eax], dl
mov edi, 1
add ecx, 2
mov edx, dword [esi + 4]
add edx, edi
mov eax, dword [esi + 8]
add eax, edx
mov dword [esi + 4], edx
cmp edx, 0x7f
jae 0x434700
movzx edx, word [ecx]
test dx, dx
je 0x434700
cmp dx, 0x7f
jbe 0x434640
mov dword [esi + 0xb4], ecx
mov ecx, eax
not ecx
add ecx, dword [esi + 0xc0]
movzx ebx, dx
cmp ecx, 2
jb 0x4346c0
cmp ebx, 0x7ff
ja 0x4346c0
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [eax], cl
mov ecx, edx
xor ecx, 0xc0
or edx, 0x3f
and edx, ecx
add dl, 0x80
mov byte [eax + 1], dl
mov edi, 2
mov ecx, dword [esi + 0xb4]
jmp 0x434647
xor edi, edi
cmp ecx, 3
mov ecx, dword [esi + 0xb4]
jb 0x434647
mov ecx, ebx
shr ecx, 0xc
or cl, 0xe0
mov byte [eax], cl
mov ecx, dword [esi + 0xb4]
shr ebx, 6
and bl, 0x3f
or bl, 0x80
mov byte [eax + 1], bl
and dl, 0x3f
or dl, 0x80
mov byte [eax + 2], dl
mov edi, 3
jmp 0x434647
mov byte [eax], 0
push 0xdc
push 0
mov ebx, dword [esi + 0x16c]
push ebx
call fcn.0040cb10
add esp, 0xc
mov word [ebx + 0x44], 0xdc
push 0x80fdacc0
mov eax, dword [esi + 0x11c]
push dword [eax]
call fcn.00448a80
add esp, 8
push ebx
push 0xffffffffffffffff
push 0
call eax
push 0xa
push 0xc
push dword [esi + 0x164]
push dword [ebx + 0xac]
call fcn.00438530
add esp, 0x10
mov edi, eax
push 0xa
push 0xc
push dword [esi + 0x168]
push dword [ebx + 0xb0]
call fcn.00438530
add esp, 0x10
mov ebx, eax
mov ecx, dword [esi + 0xf8]
mov dword [ecx], 0xf52244a
mov dword [ecx + 4], 0xfbfefef5
mov dword [ecx + 8], 0xf94ae009
mov dword [ecx + 0xc], 0xf3f1f6f9
mov dword [ecx + 0x10], 0xf4fbeded
mov dword [ecx + 0x14], 0x9fbed70a
mov word [ecx + 0x18], 0
mov byte [ecx + 0x1a], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x1a
ja 0x4347f0
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ecx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c7c0
add esp, 8
mov ecx, dword [esi + 0x30]
mov edx, dword [esi + 0xf8]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0xf8]
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x1b
jb 0x4347c0
mov eax, dword [esi + 4]
add dword [esi + 8], eax
movzx eax, byte [ecx]
test al, al
je 0x43481d
inc ecx
mov edx, dword [esi + 8]
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 0x434810
jmp 0x434820
mov edx, dword [esi + 8]
mov ecx, edx
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x43483b
inc edi
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x434830
mov byte [ecx], pe_nt_image_headers32
inc ecx
mov edi, ecx
movzx eax, byte [ebx]
test al, al
je 0x43485b
inc ebx
nop
nop
nop
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x434850
mov byte [edi], 0
push dword [esi + 0xc]
call dword [0x454508]
mov ebx, dword [esi + 0x118]
mov byte [edi], 0
mov dword [ebx], 0xaba9b097
mov dword [ebx + 4], 0xaf60a0b9
mov word [ebx + 8], 0xada8
mov byte [ebx + 0xa], 0x5e
mov word [ebx + 0xb], 0
sub edi, dword [esi + 0xe4]
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0xc
ja 0x4348d4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x30]
movzx eax, byte [ebx + eax]
push dword [esi + 0x30]
push eax
call fcn.0043c800
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [ebx + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0xd
jb 0x4348b0
mov ecx, dword [ebp + 8]
push edi
mov eax, ebx
mov ebx, dword [esi + 0xe4]
push ebx
push eax
call fcn.0040d660
jmp dword [0x452298]
push ebx
call fcn.0040caa0
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4349a1
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x4349a1
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
jmp 0x4342fb
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4349a1
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x4349a1
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
jmp 0x4342fb
mov eax, SysReAllocString
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x4349a1
cmp edi, reloc.OLEAUT32.dll_VariantClear
jl 0x4349a1
mov eax, reloc.OLEAUT32.dll_VariantClear
xor ecx, ecx
cpuid
movzx eax, cl
jmp 0x4342fb
mov dword [esi + 0xc], 1
jmp 0x4342ff
int3
call fcn.0041d300
mov dword [esi + 0x290], 0
mov eax, dword [esi + 0x294]
mov ecx, dword [esi + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0xd0]
mov al, byte [eax]
mov byte [esi + 0x6c], al
mov ebx, dword [esi + 0xd8]
mov byte [ebx], 0xad
mov byte [ebx + 1], 0xfb
mov byte [ebx + 2], 0x4d
mov byte [ebx + 3], 0xf9
mov byte [ebx + 4], 0x44
mov byte [ebx + 5], 0xff
mov byte [ebx + 6], 0xfe
mov byte [ebx + 7], 0xfd
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xb
jne 0x434e35
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0xb
jae 0x434e7b
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b720
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x434e48
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov eax, dword [esi + 0xd4]
mov al, byte [eax]
mov byte [esi + 0x70], al
mov byte [edi], 0xd3
mov byte [edi + 1], 0x61
mov byte [edi + 2], 0xa7
mov byte [edi + 3], 0x63
mov byte [edi + 4], 0xd8
mov byte [edi + 5], 0x65
mov byte [edi + 6], 0xa3
mov byte [edi + 7], 0x67
mov byte [edi + 8], 0x9b
mov byte [edi + 9], 0x59
mov byte [edi + 0xa], 0xee
mov byte [edi + 0xb], 0x5b
mov byte [edi + 0xc], 0xbc
mov byte [edi + 0xd], 0x5d
mov byte [edi + 0xe], 0x84
mov byte [edi + 0xf], 0x5f
mov byte [edi + 0x10], 0xb0
mov byte [edi + 0x11], 0x51
mov byte [edi + 0x12], 0x94
mov byte [edi + 0x13], 0x53
mov byte [edi + 0x14], 0xe6
mov byte [edi + 0x15], 0x55
mov byte [edi + 0x16], 0xe9
mov byte [edi + 0x17], 0x57
mov byte [edi + 0x18], 0xf5
mov byte [edi + 0x19], 0x49
mov byte [edi + 0x1a], 0xaa
mov byte [edi + 0x1b], 0x4b
mov byte [edi + 0x1c], 0xfb
mov byte [edi + 0x1d], 0x4d
mov byte [edi + 0x1e], 0xd7
mov byte [edi + 0x1f], 0x4f
mov byte [edi + 0x20], 0xde
mov byte [edi + 0x21], 0x41
mov byte [edi + 0x22], 0x91
mov byte [edi + 0x23], 0x43
mov byte [edi + 0x24], 0x96
mov byte [edi + 0x25], 0x45
mov byte [edi + 0x26], 0xe9
mov byte [edi + 0x27], 0x47
mov byte [edi + 0x28], 0x87
mov byte [edi + 0x29], 0x39
mov byte [edi + 0x2a], 0xaa
mov byte [edi + 0x2b], 0x3b
mov byte [edi + 0x2c], 0x99
mov byte [edi + 0x2d], 0x3d
mov byte [edi + 0x2e], 0xac
mov byte [edi + 0x2f], 0x3f
mov byte [edi + 0x30], 0x91
mov byte [edi + 0x31], 0x31
mov byte [edi + 0x32], 0xa6
mov byte [edi + 0x33], 0x33
mov byte [edi + 0x34], 0xad
mov byte [edi + 0x35], 0x35
mov byte [edi + 0x36], 0xa8
mov byte [edi + 0x37], 0x37
mov byte [edi + 0x38], 0x8f
mov byte [edi + 0x39], 0x29
mov byte [edi + 0x3a], 0x99
mov byte [edi + 0x3b], 0x2b
mov byte [edi + 0x3c], 0xa5
mov byte [edi + 0x3d], 0x2d
mov byte [edi + 0x3e], 0xbd
mov byte [edi + 0x3f], 0x2f
mov byte [edi + 0x40], 0xb4
mov byte [edi + 0x41], 0x21
mov byte [edi + 0x42], 0x87
mov byte [edi + 0x43], 0x23
mov byte [edi + 0x44], 0xb9
mov byte [edi + 0x45], 0x25
mov byte [edi + 0x46], 0x26
mov byte [edi + 0x47], 0x27
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x48
jae 0x434fed
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b770
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x434fba
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edx, eax
mov eax, dword [esi + 0x60]
mov eax, dword [eax]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edi, dword [esi + 0x58]
mov dword [esp + 0x14], edi
mov dword [esi + 0xf8], edx
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x2a0], eax
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
mov eax, dword [esi + 0x120]
mov ecx, dword [esi + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esi + 0x170]
mov edx, dword [esi + 0x174]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esi + 0x64], edx
mov eax, dword [esi + 0x2c8]
mov ecx, dword [esi + 0x2cc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
test edi, edi
setns bl
mov eax, edi
sub eax, 1
setne al
and bl, al
mov eax, dword [esi + 0x94]
mov edx, dword [eax]
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 + 0x200]
mov ecx, dword [esi + 0x204]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x38]
mov ebx, dword [esi + 0x34]
jmp eax
movzx eax, bl
and eax, 1
mov dword [esi + 0x240], eax
mov eax, dword [esi + 0x244]
mov ecx, dword [esi + 0x240]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x58]
jmp eax
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 + 0x2a8], eax
mov eax, dword [esi + 0x2ac]
mov ecx, dword [esi + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, edx
mov eax, dword [esi + 0x280]
mov ecx, dword [esi + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_VariantClear]
call eax
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 [esi + 0x5c]
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
mul dword [edx]
jno 0x435235
in al, dx
sar dword [eax + 0x5d], cl
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
and bl, bh
mov eax, dword [esi + 0x248]
mov ecx, dword [esi + 0x24c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
push eax
mov edx, esp
mov dword [esi + 0x2d0], 1
mov eax, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d0]
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 dword [esi + 0xa8], 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.004349b0
add esp, 8
mov ebx, edi
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.0040ca90
add esp, 4
mov ecx, dword [ebx + 8]
mov ebx, dword [esi + 0xa8]
shl ebx, 1
mov edx, ecx
add edx, ebx
mov dword [esi + 0xc0], edx
mov ebx, eax
add ebx, edi
mov dword [esi + 0xc8], eax
mov edi, eax
invalid
mov eax, ebx
add eax, 0xffffffff
cmp edi, eax
jae 0x4352e5
mov dword [esi + 0x4c], ecx
call fcn.0041d300
call fcn.0041d300
mov edx, dword [esi + 0x4c]
mov dword [esi + 0xb4], edi
mov edi, dword [esi + 0xc0]
test edi, edi
sete al
mov ecx, edx
sub ecx, edi
mov edi, dword [esi + 0xb4]
setb cl
or al, cl
test al, 1
jne 0x4352af
jmp 0x4352e5
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x4352e5
add edx, 2
mov dword [esi + 0x4c], 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.0043b580
mov ecx, dword [esi + 0x4c]
add esp, 0xc
add edi, eax
jmp 0x435270
mov byte [edi], 0
call fcn.0041d300
call fcn.0041d300
mov edi, dword [esi + 0xc8]
mov eax, edi
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0xec]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.0043b650
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b650
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.0043b650
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.0043b650
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b650
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.0043b650
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x210], 0
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
cmp byte [ebp + 0x7f], ah
push esi
sal esp, 0xb0
mov eax, 0x110868b
add byte [eax], al
mov ecx, dword [esi + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x278], 0
mov eax, dword [esi + 0x27c]
mov ecx, dword [esi + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0xcc]
mov al, byte [eax]
mov byte [esi + 0x68], al
mov byte [ebx], 0x16
mov byte [ebx + 1], 0x49
mov byte [ebx + 2], 5
mov byte [ebx + 3], 0x57
mov byte [ebx + 4], 7
mov byte [ebx + 5], 0x55
mov byte [ebx + 6], 0xe
mov byte [ebx + 7], 0x53
mov byte [ebx + 8], 0xf4
mov byte [ebx + 9], 0x51
mov byte [ebx + 0xa], 0x11
mov byte [ebx + 0xb], 0x5f
mov byte [ebx + 0xc], 0x15
mov byte [ebx + 0xd], 0x5d
mov byte [ebx + 0xe], 0xf
mov byte [ebx + 0xf], 0x5b
mov byte [ebx + 0x10], 2
mov byte [ebx + 0x11], 0x59
mov byte [ebx + 0x12], 0xd8
mov byte [ebx + 0x13], 0xa7
mov byte [ebx + 0x14], 0xa4
mov byte [ebx + 0x15], 0xa5
mov eax, 0x16
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x18
jne 0x43548f
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x18
jae 0x4354d5
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b6e0
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
jmp 0x4354a2
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov ecx, dword [esi + 0x64]
mov ecx, dword [ecx]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
sub esp, 0x24
mov ebx, dword [esi + 0x60]
mov dword [esp + 0x20], ebx
mov dword [esi + 0x104], 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 edx
not eax
shr eax, 0x1f
mov dword [esi + 0x2b0], eax
mov eax, dword [esi + 0x2b4]
mov ecx, dword [esi + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x38]
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]
mov edi, dword [eax]
mov eax, dword [esi + 0xa4]
mov al, byte [eax]
mov byte [esi + 0x88], al
mov byte [ebx], 0x2b
mov byte [ebx + 1], 0xeb
mov byte [ebx + 2], 0x18
mov byte [ebx + 3], 0xe9
mov byte [ebx + 4], 0x1d
mov byte [ebx + 5], 0xef
mov byte [ebx + 6], 0x1a
mov byte [ebx + 7], 0xed
mov byte [ebx + 8], 0xb
mov byte [ebx + 9], 0xf3
mov byte [ebx + 0xa], 0x1e
mov byte [ebx + 0xb], 0xf1
mov byte [ebx + 0xc], 0x1c
mov byte [ebx + 0xd], 0xf7
mov byte [ebx + 0xe], 0x32
mov byte [ebx + 0xf], 0xf5
mov byte [ebx + 0x10], 0x13
mov byte [ebx + 0x11], 0xfb
mov byte [ebx + 0x12], 0xe
mov byte [ebx + 0x13], 0xf9
mov byte [ebx + 0x14], 0x13
mov byte [ebx + 0x15], 0xff
mov byte [ebx + 0x16], 0xfe
mov byte [ebx + 0x17], 0xfd
mov eax, 0x18
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x1a
jne 0x4355e2
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 0x1a
jae 0x43562b
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b940
mov ebx, dword [esi + 0x54]
add esp, 8
mov ecx, dword [esi + 0x28]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
jmp 0x4355f5
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x3c]
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 + 0x1c0], 1
mov ecx, dword [esi + 0x1c4]
mov edx, dword [esi + 0x1c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d300
mov dword [esi + 0x260], 0
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x268]
mov ecx, dword [esi + 0x26c]
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 + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
test edi, edi
setne bh
mov dword [esi + 0x270], 0
mov eax, dword [esi + 0x274]
mov ecx, dword [esi + 0x270]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
mov edi, dword [eax]
mov eax, dword [esi + 0xdc]
mov al, byte [eax]
mov byte [esi + 0x74], al
mov edx, dword [esi + 0x98]
mov byte [edx], 0x79
mov byte [edx + 1], 0x3f
mov byte [edx + 2], 0x5d
mov byte [edx + 3], 0x31
mov byte [edx + 4], 0x40
mov byte [edx + 5], 0x33
mov byte [edx + 6], 0x46
mov byte [edx + 7], 0x35
mov byte [edx + 8], 0x4f
mov byte [edx + 9], 0x37
mov byte [edx + 0xa], 0x47
mov byte [edx + 0xb], 0x49
mov byte [edx + 0xc], 0x36
mov byte [edx + 0xd], 0x4b
mov byte [edx + 0xe], 0x4a
mov byte [edx + 0xf], 0x4d
mov dword [esi + 0x18], 0
mov ebx, dword [esi + 0x34]
mov eax, dword [esi + 0x18]
cmp eax, 0x10
jae 0x4357a3
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b7e0
mov edx, dword [esi + 0x98]
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x43576a
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x30]
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 + 0x238], eax
mov eax, dword [esi + 0x23c]
mov ecx, dword [esi + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x258], 1
mov eax, dword [esi + 0x25c]
mov ecx, dword [esi + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov eax, dword [edi]
mov dword [esi + 0x178], 1
mov ecx, dword [esi + 0x17c]
mov edx, dword [esi + 0x178]
mov ecx, dword [ecx + edx*4]
jmp ecx
sub esp, 0x48
mov edi, esp
push eax
mov dword [esi + 0xd4], esp
push eax
mov dword [esi + 0x58], esp
push eax
mov dword [esi], esp
push eax
mov dword [esi + 0x94], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x30], eax
mov esp, eax
push eax
sub esp, 0xc
mov dword [esi + 0x98], esp
push eax
mov dword [esi + 0xdc], esp
sub esp, 0xc
mov dword [esi + 0xe4], esp
push eax
mov dword [esi + 0xe0], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x38], eax
mov esp, eax
push eax
sub esp, 0x1c
mov dword [esi + 0x9c], esp
push eax
mov dword [esi + 0xe8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x34], eax
mov esp, eax
push eax
sub esp, 0x1c
mov dword [esi + 0xa0], esp
push eax
mov dword [esi + 0xf0], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x3c], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0xa4], esp
mov eax, dword [0x7ffe026c]
mov ecx, dword [ebp + 8]
mov dword [ecx], eax
mov eax, dword [0x7ffe0270]
mov dword [ecx + 4], eax
mov eax, dword [0x7ffe0260]
mov dword [ecx + 8], eax
mov eax, dword [0x7ffe0264]
sub eax, 2
sete byte [ecx + 0xc]
mov eax, ecx
add eax, 0x10
mov dword [esi + 0x5c], eax
mov dword [ecx + 0x10], 0
mov eax, ecx
add eax, 0x14
mov dword [esi + 0xec], eax
mov byte [ecx + 0x14], 0
mov eax, ecx
add eax, 0x28
mov dword [esi + 0xf4], eax
mov word [ecx + 0x28], 0
mov eax, ecx
add eax, 0x2a
mov dword [esi + 0x100], eax
mov byte [ecx + 0x2a], 0
mov eax, dword [esi + 0x64]
mov dword [eax], 0
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x44cc50
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x44cc60
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x2b8], eax
mov eax, dword [esi + 0x2bc]
mov ecx, dword [esi + 0x2b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, edx
not ecx
add edi, ecx
mov ecx, edi
not ecx
mov eax, edx
mov dword [esi + 0x40], eax
mov edx, dword [esi + 0x50]
add ecx, edx
sub edx, edi
mov edi, eax
mov eax, dword [esi + 8]
sub edi, eax
seta bl
mov edi, eax
mov eax, dword [esi + 0x40]
add edi, edx
sub edi, eax
seta bh
and bl, bh
test bl, 1
jne 0x435a2f
mov ecx, edx
shr ecx, 2
mov edi, eax
mov ebx, dword [esi + 8]
xchg esi, ebx
rep movsd dword es:[edi], dword [esi]
xchg esi, ebx
mov ecx, edx
and ecx, 0xfffffffc
add eax, ecx
mov ebx, dword [esi + 8]
add ebx, ecx
mov dword [esi + 8], ebx
mov ecx, edx
shr ecx, 1
and ecx, 1
mov edi, eax
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, edx
and ecx, 2
add eax, ecx
mov edi, eax
mov eax, dword [esi + 8]
add eax, ecx
and edx, 1
mov ebx, dword [esi + 0x34]
cmp edx, 0
je 0x435a6d
add edx, 0xffffffff
mov dword [esi + 0x50], edx
mov ecx, eax
add ecx, 1
mov dl, byte [eax]
mov eax, edi
mov edi, eax
add edi, 1
mov byte [eax], dl
mov eax, ecx
mov edx, dword [esi + 0x50]
jmp 0x435a0d
add eax, ecx
mov dword [esi + 0x40], eax
mov eax, dword [esi + 8]
add eax, ecx
mov ebx, dword [esi + 0x34]
mov edi, dword [esi + 0x30]
cmp edx, 0
je 0x435a6b
add edx, 0xffffffff
mov ecx, eax
add ecx, 0xffffffff
mov al, byte [eax]
mov byte [esi + 7], al
mov eax, dword [esi + 0x40]
mov edi, eax
add edi, 0xffffffff
mov bl, byte [esi + 7]
mov byte [eax], bl
mov ebx, dword [esi + 0x34]
mov dword [esi + 0x40], edi
mov edi, dword [esi + 0x30]
mov eax, ecx
jmp 0x435a3f
jmp 0x435a72
mov edi, dword [esi + 0x30]
jmp 0x435a72
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov eax, dword [ecx + eax*4]
jmp eax
fild qword [edi - 0x1e]
sbb eax, 0x40868b50
add dword [eax], eax
add byte [ebx + 0x1448e], cl
add byte [ebx - 0x1f007efc], cl
cmp al, 0xf5
div dword [eax]
sub esp, 4
mov eax, dword [esi + 0x38]
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]
mov edi, dword [eax]
mov eax, dword [esi + 0xa4]
mov al, byte [eax]
mov byte [esi + 0x84], al
mov byte [ebx], 0x2b
mov byte [ebx + 1], 0xeb
mov byte [ebx + 2], 0x18
mov byte [ebx + 3], 0xe9
mov byte [ebx + 4], 0x1d
mov byte [ebx + 5], 0xef
mov byte [ebx + 6], 0x1a
mov byte [ebx + 7], 0xed
mov byte [ebx + 8], 0xb
mov byte [ebx + 9], 0xf3
mov byte [ebx + 0xa], 0x1e
mov byte [ebx + 0xb], 0xf1
mov byte [ebx + 0xc], 0x1c
mov byte [ebx + 0xd], 0xf7
mov byte [ebx + 0xe], 0x32
mov byte [ebx + 0xf], 0xf5
mov byte [ebx + 0x10], 0x13
mov byte [ebx + 0x11], 0xfb
mov byte [ebx + 0x12], 0xe
mov byte [ebx + 0x13], 0xf9
mov byte [ebx + 0x14], 0x13
mov byte [ebx + 0x15], 0xff
mov byte [ebx + 0x16], 0xfe
mov byte [ebx + 0x17], 0xfd
mov eax, 0x18
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0x1a
jne 0x435b2e
mov dword [esi + 0x2c], 0
mov eax, dword [esi + 0x2c]
cmp eax, 0x1a
jae 0x435b77
mov eax, dword [esi + 0x2c]
mov ecx, dword [esi + 0x2c]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b940
mov ebx, dword [esi + 0x54]
add esp, 8
mov ecx, dword [esi + 0x2c]
mov byte [ebx + ecx], al
mov eax, dword [esi + 0x2c]
inc eax
mov dword [esi + 0x2c], eax
jmp 0x435b41
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x3c]
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 + 0x118]
mov ecx, dword [esi + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 0x18
mov ebx, esp
push eax
mov dword [esi + 0xcc], esp
push eax
mov dword [esi + 0x60], esp
sub esp, 0xc
mov dword [esi + 0xd8], esp
push eax
mov dword [esi + 0xd0], esp
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov eax, dword [esi + 0xf8]
mov dword [esp], eax
call edi
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
sub esp, 4
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.0040caa0
add esp, 4
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
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 + 0x38]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi]
mov edi, dword [eax]
mov eax, dword [esi + 0xe8]
mov al, byte [eax]
mov byte [esi + 0x7c], al
mov edx, dword [esi + 0x9c]
mov byte [edx], 0x84
mov byte [edx + 1], 0x31
mov byte [edx + 2], 0xa5
mov byte [edx + 3], 0x33
mov byte [edx + 4], 0x8f
mov byte [edx + 5], 0x2d
mov byte [edx + 6], 0x8f
mov byte [edx + 7], 0x2f
mov byte [edx + 8], 0xbc
mov byte [edx + 9], 0x29
mov byte [edx + 0xa], 0x96
mov byte [edx + 0xb], 0x2b
mov byte [edx + 0xc], 0x85
mov byte [edx + 0xd], 0x25
mov byte [edx + 0xe], 0xaa
mov byte [edx + 0xf], 0x27
mov byte [edx + 0x10], 0xbd
mov byte [edx + 0x11], 0x21
mov byte [edx + 0x12], 0x8e
mov byte [edx + 0x13], 0x23
mov byte [edx + 0x14], 0x85
mov byte [edx + 0x15], 0x1d
mov byte [edx + 0x16], 0x8b
mov byte [edx + 0x17], 0x1f
mov byte [edx + 0x18], 0x85
mov byte [edx + 0x19], 0x19
mov byte [edx + 0x1a], 0x1a
mov byte [edx + 0x1b], 0x1b
mov eax, 0x1c
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x1f
jne 0x435ce1
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x1f
jae 0x435d2d
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b870
mov edx, dword [esi + 0x9c]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x435cf4
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi + 0x38]
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 + 0x218], eax
mov eax, dword [esi + 0x21c]
mov ecx, dword [esi + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], edi
call fcn.0040caa0
add esp, 4
mov eax, dword [esi + 0x208]
mov ecx, dword [esi + 0x20c]
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 ecx, edi
mov edi, eax
mov eax, dword [ecx + 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.004349b0
add esp, 8
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor ebx, ebx
sub ebx, ecx
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca90
add esp, 4
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + 8]
shl edi, 1
mov edx, ecx
add edx, edi
mov dword [esi + 0xbc], edx
mov edi, eax
add edi, ebx
mov dword [esi + 0x8c], eax
mov ebx, eax
mov eax, edi
add eax, 0xffffffff
cmp ebx, eax
jae 0x435e85
mov dword [esi + 0x48], ecx
call fcn.0041d300
call fcn.0041d300
mov edx, dword [esi + 0x48]
mov dword [esi + 0xb0], ebx
mov ebx, dword [esi + 0xbc]
test ebx, ebx
sete al
mov ecx, edx
sub ecx, ebx
mov ebx, dword [esi + 0xb0]
setb cl
or al, cl
test al, 1
jne 0x435e4f
jmp 0x435e85
mov cx, word [edx]
movzx eax, cx
cmp cx, 0
je 0x435e85
add edx, 2
mov dword [esi + 0x48], edx
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, edi
sub esp, 0xc
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043b580
mov ecx, dword [esi + 0x48]
add esp, 0xc
add ebx, eax
jmp 0x435e10
mov byte [ebx], 0
call fcn.0041d300
call fcn.0041d300
mov edi, dword [esi + 0x8c]
mov eax, edi
add eax, 6
sub esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + 0x100]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.0043b650
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b650
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.0043b650
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.0043b650
add esp, 0xc
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xa
sub esp, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b650
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.0043b650
add esp, 0xc
mov byte [eax], 0
mov dword [esi + 0x1b0], 0
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1a0]
mov ecx, dword [esi + 0x1a4]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x3c]
jmp eax
stosb byte es:[edi], al
sub eax, 0xec83e241
add al, 0x89
cmp al, 0x24
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x108]
mov ecx, dword [esi + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x158], 0
mov eax, dword [esi + 0x15c]
mov ecx, dword [esi + 0x158]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x104]
mov ebx, dword [esi + 0x64]
jmp eax
mov eax, dword [esi]
mov edi, dword [eax]
mov eax, dword [esi + 0xf0]
mov al, byte [eax]
mov byte [esi + 0x80], al
mov edx, dword [esi + 0xa0]
mov byte [edx], 0x87
mov byte [edx + 1], 0xc9
mov byte [edx + 2], 0xab
mov byte [edx + 3], 0xd7
mov byte [edx + 4], 0xaa
mov byte [edx + 5], 0xd5
mov byte [edx + 6], 0xac
mov byte [edx + 7], 0xd3
mov byte [edx + 8], 0xbd
mov byte [edx + 9], 0xd1
mov byte [edx + 0xa], 0xac
mov byte [edx + 0xb], 0xdf
mov byte [edx + 0xc], 0xa0
mov byte [edx + 0xd], 0xdd
mov byte [edx + 0xe], 0x86
mov byte [edx + 0xf], 0xdb
mov byte [edx + 0x10], 0xb1
mov byte [edx + 0x11], 0xd9
mov byte [edx + 0x12], 0x93
mov byte [edx + 0x13], 0xe7
mov byte [edx + 0x14], 0x89
mov byte [edx + 0x15], 0xe5
mov byte [edx + 0x16], 0x84
mov byte [edx + 0x17], 0xe3
mov byte [edx + 0x18], 0x93
mov byte [edx + 0x19], 0xe1
mov byte [edx + 0x1a], 0x9c
mov byte [edx + 0x1b], 0xef
mov byte [edx + 0x1c], 0x81
mov byte [edx + 0x1d], 0xed
mov byte [edx + 0x1e], 0xea
mov byte [edx + 0x1f], 0xeb
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x20
jae 0x4360d4
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b8c0
mov edx, dword [esi + 0xa0]
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
jmp 0x43609b
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x1d8], eax
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esi + 0xfc]
jmp eax
iretd
mov eax, dword [esi + 0x250]
mov ecx, dword [esi + 0x254]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esi + 0xfc], ebx
mov edx, dword [esi + 0x94]
mov dword [edx], 0
mov eax, dword [edi]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edx
mov edx, dword [esi]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
mov edi, eax
mov eax, dword [esi + 0x298]
mov ecx, dword [esi + 0x29c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1f0], 1
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [eax]
add ecx, 8
mov edx, dword [esi + 0x168]
mov edi, dword [esi + 0x16c]
mov edx, dword [edi + edx*4]
jmp edx
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
mov eax, dword [esi]
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 + 0x198]
mov ecx, dword [esi + 0x19c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x58]
jmp eax
movzx eax, al
and eax, 1
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x1bc]
mov ecx, dword [esi + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x180], 1
mov eax, dword [esi + 0x184]
mov ecx, dword [esi + 0x180]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x60]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1c8], 0
mov eax, dword [esi + 0x1cc]
mov ecx, dword [esi + 0x1c8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x54]
mov edi, dword [esi + 0x3c]
jmp eax
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x160]
mov ecx, dword [esi + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [ebx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x150], 0
mov eax, dword [esi + 0x154]
mov ecx, dword [esi + 0x150]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004349b0
add esp, 8
mov ebx, eax
mov dword [esi + 0x50], ebx
add ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.0040ca90
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x5c]
mov dword [eax], edx
mov eax, dword [esi + 0xac]
mov eax, dword [eax]
shl edi, 1
mov dword [esi + 0x44], eax
add eax, edi
mov dword [esi + 0xc4], eax
mov edi, edx
add edi, ebx
mov ebx, dword [esi + 0xe4]
mov eax, edi
add eax, 0xffffffff
cmp edx, eax
jae 0x4363df
mov dword [esi + 0x90], edx
call fcn.0041d300
call fcn.0041d300
mov edx, dword [esi + 0x90]
mov dword [esi + 0xb8], edi
mov edi, dword [esi + 0xc4]
test edi, edi
sete al
mov ecx, dword [esi + 0x44]
sub ecx, edi
mov edi, dword [esi + 0xb8]
setb cl
or al, cl
test al, 1
jne 0x4363a5
jmp 0x4363df
mov eax, dword [esi + 0x44]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x4363df
add dword [esi + 0x44], 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.0043b580
mov edx, dword [esi + 0x90]
add esp, 0xc
add edx, eax
jmp 0x43635f
mov byte [edx], 0
mov eax, dword [esi + 0xe0]
mov al, byte [eax]
mov byte [esi + 0x78], al
mov byte [ebx], 0xdd
mov byte [ebx + 1], 0xec
mov byte [ebx + 2], 0xf0
mov byte [ebx + 3], 0xed
mov byte [ebx + 4], 0xf1
mov byte [ebx + 5], 0xfa
mov byte [ebx + 6], 0xff
mov byte [ebx + 7], 0xd
mov eax, 8
mov byte [ebx + eax], 0
add eax, 1
cmp eax, 0xa
jne 0x436411
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0xa
jae 0x436457
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.0043b830
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 0x436424
mov edi, dword [esi + 0x5c]
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00425ac0
add esp, 8
mov edx, dword [edi]
mov dword [esi + 8], eax
mov edi, eax
mov ecx, dword [esi + 0x228]
mov ebx, dword [esi + 0x22c]
mov ecx, dword [ebx + ecx*4]
jmp ecx
mov eax, edi
add eax, 8
mov dword [esi + 0xac], eax
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
mov ecx, edi
mov edi, eax
mov eax, dword [ecx + 8]
lea ecx, [eax + edi*2]
mov edx, dword [esi + 0x230]
mov ebx, dword [esi + 0x234]
mov edx, dword [ebx + edx*4]
jmp edx
movsx ecx, word [ebx + 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 + 0xf4]
mov word [eax], dx
mov eax, dword [esi + 0x1d0]
mov ecx, dword [esi + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x230], 0
mov eax, dword [esi + 0x234]
mov ecx, dword [esi + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1c8]
mov ecx, dword [esi + 0x1cc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi + 0x100]
jmp eax
mov eax, dword [esi + 0x278]
mov ecx, dword [esi + 0x27c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x38]
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 + 0x318], eax
mov eax, dword [esi + 0x31c]
mov ecx, dword [esi + 0x318]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], 0
jmp eax
popfd
push ds
inc edx
ljmp 0
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]
mov edi, dword [esi]
jmp eax
dec ecx
scasb al, byte es:[edi]
push esi
fsub qword [esi]
jge 0x436f6d
jnp 0x44a81c
add byte [ebx + 0x13c8e], cl
add byte [ebx - 0x1f007efc], cl
call fcn.0041d300
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
lea edx, [esi + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
xor ecx, ecx
test eax, eax
setns al
mov dword [esi + 0x328], 0
mov edx, dword [esi + 0x32c]
mov edi, dword [esi + 0x328]
mov edx, dword [edx + edi*4]
mov edi, dword [esi + 0x100]
jmp edx
mov eax, dword [0x26e13d1b]
sbb ebp, dword [ebx + ecx*4]
inc edi
or byte [ebx + 0x48904ec], al
and al, 0xff
adc eax, sym.imp.OLEAUT32.dll_VariantInit
mov ecx, eax
mov dword [esi + 0x110], ecx
mov eax, dword [edi + 8]
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004349b0
add esp, 8
mov edi, eax
add edi, 1
sub esp, 4
mov dword [esp], edi
call fcn.0040ca90
add esp, 4
mov ecx, eax
mov dword [esi + 0x34], ecx
mov eax, dword [esi + 0xf4]
mov dword [eax], ecx
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov edx, dword [esi + 0x110]
shl edx, 1
mov dword [esi + 0x44], eax
add eax, edx
mov dword [esi + 0x118], eax
mov eax, ecx
add eax, edi
mov edi, eax
add eax, 0xffffffff
cmp dword [esi + 0x34], eax
jae 0x437107
call fcn.0041d300
call fcn.0041d300
mov edx, dword [esi + 0x118]
test edx, edx
sete al
mov ecx, dword [esi + 0x44]
sub ecx, edx
setb cl
or al, cl
test al, 1
jne 0x4370bf
jmp 0x437107
mov eax, dword [esi + 0x44]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x437107
add dword [esi + 0x44], 2
mov edx, dword [esi + 0x34]
mov ecx, edx
xor ecx, 0xffffffff
mov dword [esi + 0x10c], edi
add ecx, edi
sub esp, 0xc
mov dword [esp], edx
mov edi, edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043b580
add esp, 0xc
add edi, eax
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x34], edi
jmp 0x437090
mov eax, dword [esi + 0x34]
mov byte [eax], 0
call fcn.0041d300
call fcn.0041d300
mov eax, dword [esi + 0x170]
mov ecx, dword [esi + 0x174]
mov eax, dword [ecx + eax*4]
mov edi, dword [esi]
jmp eax
mov eax, dword [esi + 0x50]
mov al, byte [eax + 1]
mov ecx, dword [esi + 0x120]
mov byte [ecx], al
mov eax, dword [esi + 0x2a8]
mov ecx, dword [esi + 0x2ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov edi, dword [esi + 0x134]
mov dword [edi], 0
mov eax, dword [ecx]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
sub esp, 0x14
mov dword [esp + 0x10], edi
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 + 0x300], eax
mov eax, dword [esi + 0x304]
mov ecx, dword [esi + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 4]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
invalid
mov eax, dword [esi + 0x2f8]
mov ecx, dword [esi + 0x2fc]
mov eax, dword [ecx + eax*4]
mov edi, 3
jmp eax
mov eax, edx
mov edi, dword [esi + 0x50]
mov ecx, 1
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov edi, dword [esi + 0x50]
add edi, 4
add edx, 4
xor ecx, ecx
mov dword [esi + 0x108], edx
mov dword [esi + 0x3c], edi
mov eax, dword [esi + 0x108]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
xor ecx, ecx
mov edi, ecx
add ecx, 0xffffffff
cmp edi, 0
je 0x43725d
mov eax, edx
add eax, 1
mov dword [esi + 0x104], eax
mov dl, byte [edx]
mov byte [esi + 0xb], dl
mov eax, dword [esi + 0x3c]
add eax, 1
mov dl, byte [esi + 0xb]
mov edi, dword [esi + 0x3c]
mov byte [edi], dl
mov dword [esi + 0x3c], eax
mov edx, dword [esi + 0x104]
jmp 0x43722a
mov eax, dword [esi + 0x2b8]
mov ecx, dword [esi + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1f0], 1
mov eax, dword [esi + 0x1f4]
mov ecx, dword [esi + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ebx, dword [eax]
mov eax, dword [esi + 0x210]
mov ecx, dword [esi + 0x214]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
push eax
mov edx, esp
push eax
mov dword [esi + 0x134], esp
sub esp, 0x10
mov ebx, esp
and ebx, 0xfffffff8
mov esp, ebx
mov dword [esi + 0x360], 0
mov eax, dword [esi + 0x364]
mov ecx, dword [esi + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], 0xc
call fcn.0040ca90
add esp, 4
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esi + 0x120], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esi + 0xf4], ecx
mov dword [esi + 0x128], eax
mov dword [eax + 8], 0
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov edi, dword [eax]
mov eax, dword [esi + 0x130]
mov al, byte [eax]
mov byte [esi + 0x6c], al
mov edx, dword [esi + 0xfc]
mov byte [edx], 0x90
mov byte [edx + 1], 0x21
mov byte [edx + 2], 0x90
mov byte [edx + 3], 0x23
mov byte [edx + 4], 0x9b
mov byte [edx + 5], 0x25
mov byte [edx + 6], 0x82
mov byte [edx + 7], 0x27
mov byte [edx + 8], 0x8d
mov byte [edx + 9], 0x39
mov byte [edx + 0xa], 0x99
mov byte [edx + 0xb], 0x3b
mov byte [edx + 0xc], 0x88
mov byte [edx + 0xd], 0x3d
mov byte [edx + 0xe], 0xed
mov byte [edx + 0xf], 0x3f
mov byte [edx + 0x10], 0x84
mov byte [edx + 0x11], 0x31
mov byte [edx + 0x12], 0x93
mov byte [edx + 0x13], 0x33
mov byte [edx + 0x14], 0x80
mov byte [edx + 0x15], 0x35
mov byte [edx + 0x16], 0x93
mov byte [edx + 0x17], 0x37
mov byte [edx + 0x18], 8
mov byte [edx + 0x19], 9
mov eax, 0x1a
mov byte [edx + eax], 0
add eax, 1
cmp eax, 0x1c
jne 0x4373a2
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x1c
jae 0x4373ee
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [edx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bac0
mov edx, dword [esi + 0xfc]
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [edx + ecx], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
jmp 0x4373b5
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov dword [esp + 0xc], ebx
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
test eax, eax
setns al
mov cx, word [ebx]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esi + 0x2e0], eax
mov eax, dword [esi + 0x2e4]
mov ecx, dword [esi + 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x258]
mov ecx, dword [esi + 0x25c]
mov eax, dword [ecx + eax*4]
mov ecx, dword [esi + 0x128]
mov dword [esi + 4], ecx
jmp eax
in eax, 0x11
adc eax, 0x4ec83c6
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov edx, dword [eax]
mov eax, dword [esi + 0xf8]
mov al, byte [eax]
mov byte [esi + 0x70], al
mov byte [edi], 0xf8
mov byte [edi + 1], 0x67
mov byte [edi + 2], 0xfd
mov byte [edi + 3], 0x61
mov byte [edi + 4], 0xed
mov byte [edi + 5], 0x63
mov byte [edi + 6], 0xf2
mov byte [edi + 7], 0x5d
mov byte [edi + 8], 0xc8
mov byte [edi + 9], 0x5f
mov byte [edi + 0xa], 0xfd
mov byte [edi + 0xb], 0x59
mov byte [edi + 0xc], 0xd3
mov byte [edi + 0xd], 0x5b
mov byte [edi + 0xe], 0xec
mov byte [edi + 0xf], 0x55
mov byte [edi + 0x10], 0xf7
mov byte [edi + 0x11], 0x57
mov byte [edi + 0x12], 0xc1
mov byte [edi + 0x13], 0x51
mov byte [edi + 0x14], 0xcf
mov byte [edi + 0x15], 0x53
mov byte [edi + 0x16], 0x52
mov byte [edi + 0x17], 0x4d
mov eax, 0x18
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x4374f2
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x19
jae 0x43753f
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
mov edi, edx
call fcn.0043bb00
mov edx, edi
mov edi, dword [esi + 0x4c]
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 0x437505
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
mov dword [esp], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x178]
mov ecx, dword [esi + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
sub esp, 4
mov dword [esp], edi
call ebx
mov dword [esi + 0x200], 1
mov eax, dword [esi + 0x204]
mov ecx, dword [esi + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esi + 0x5c]
mov byte [esi + 0x60], al
mov byte [esi + 0xbc], 0xde
mov byte [esi + 0xbd], 9
mov byte [esi + 0xbe], 0xdd
mov byte [esi + 0xbf], 0xf
mov byte [esi + 0xc0], 0xdf
mov byte [esi + 0xc1], 0xd
mov byte [esi + 0xc2], 0xd6
mov byte [esi + 0xc3], 3
mov byte [esi + 0xc4], 0xec
mov byte [esi + 0xc5], 1
mov byte [esi + 0xc6], 0xd1
mov byte [esi + 0xc7], 7
mov byte [esi + 0xc8], 0xe1
mov byte [esi + 0xc9], 5
mov byte [esi + 0xca], 0xfd
mov byte [esi + 0xcb], 0x1b
mov byte [esi + 0xcc], 0xed
mov byte [esi + 0xcd], 0x19
mov byte [esi + 0xce], 0xe8
mov byte [esi + 0xcf], 0x1f
mov byte [esi + 0xd0], 0xe5
mov byte [esi + 0xd1], 0x1d
mov byte [esi + 0xd2], 0xe6
mov byte [esi + 0xd3], 0x13
mov byte [esi + 0xd4], 0x99
mov byte [esi + 0xd5], 0x11
mov byte [esi + 0xd6], 0xd1
mov byte [esi + 0xd7], 0x17
mov byte [esi + 0xd8], 0xf1
mov byte [esi + 0xd9], 0x15
mov byte [esi + 0xda], 0xd8
mov byte [esi + 0xdb], 0x2b
mov byte [esi + 0xdc], 0xdc
mov byte [esi + 0xdd], 0x29
mov byte [esi + 0xde], 0xcb
mov byte [esi + 0xdf], 0x2f
mov byte [esi + 0xe0], 0xda
mov byte [esi + 0xe1], 0x2d
mov byte [esi + 0xe2], 0x14
mov byte [esi + 0xe3], 0x23
mov byte [esi + 0xe4], 0x20
mov byte [esi + 0xe5], 0x21
mov eax, 0x2a
mov byte [esi + eax + 0xbc], 0
add eax, 1
cmp eax, 0x2f
jne 0x4376d8
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x2f
jae 0x43772a
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0xbc]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b9a0
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0xbc], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x4376ef
mov dword [esi + 0x54], edi
sub esp, 4
lea eax, [esi + 0xbc]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edi, eax
mov eax, dword [esi + 0x338]
mov ecx, dword [esi + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x1f8]
mov ecx, dword [esi + 0x1fc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x238], 0
mov eax, dword [esi + 0x23c]
mov ecx, dword [esi + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
fbld tbyte [ecx + 0x4d]
adc edx, dword [eax + 0x50]
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov eax, dword [esi + 0x190]
mov ecx, dword [esi + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
push eax
test eax, 0x34ab5468
xchg dword [esi - 0x75], edx
pop es
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
call fcn.0041d300
mov dword [esi + 0x1e8], 0
mov eax, dword [esi + 0x1ec]
mov ecx, dword [esi + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x330], 1
mov eax, dword [esi + 0x334]
mov ecx, dword [esi + 0x330]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x100], edi
jmp eax
call fcn.0041d300
mov dword [esi + 0x198], 1
mov eax, dword [esi + 0x19c]
mov ecx, dword [esi + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x308]
mov ecx, dword [esi + 0x30c]
mov eax, dword [ecx + eax*4]
mov dword [esi + 4], 0
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 0x54]
jmp eax
call fcn.0041d300
mov dword [esi + 0x250], 1
mov eax, dword [esi + 0x254]
mov ecx, dword [esi + 0x250]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0xc]
jmp eax
mov cl, al
and ecx, 1
mov dword [esi + 0x320], ecx
mov eax, dword [esi + 0x324]
mov ecx, dword [esi + 0x320]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], 0
jmp eax
mov eax, dword [esi + 0x228]
mov ecx, dword [esi + 0x22c]
mov eax, dword [ecx + eax*4]
jmp eax
dec dword [ecx - 0x199519da]
push ebx
add byte [ebx + 0x15086], cl
add byte [ebx + 0x1548e], cl
add byte [ebx - 0x1f007efc], cl
mov edi, dword [ecx]
mov eax, dword [edi]
add eax, 8
mov ecx, dword [esi + 0x218]
mov edx, dword [esi + 0x21c]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esi + 0x1e0]
mov ecx, dword [esi + 0x1e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esi + 0x58]
mov byte [esi + 0x64], al
mov byte [esi + 0x2c], 0x1f
mov byte [esi + 0x2d], 0x71
mov byte [esi + 0x2e], 3
mov byte [esi + 0x2f], 0x73
mov byte [esi + 0x30], 0x18
mov byte [esi + 0x31], 0x6d
mov byte [esi + 0x32], 0x6e
mov byte [esi + 0x33], 0x6f
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 8
jae 0x43794c
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x2c]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b9f0
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x2c], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x437917
lea eax, [esi + 0x2c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x124]
mov al, byte [eax]
mov byte [esi + 0x68], al
mov byte [esi + 0x78], 0x53
mov byte [esi + 0x79], 0xe1
mov byte [esi + 0x7a], 0xa7
mov byte [esi + 0x7b], 0xe3
mov byte [esi + 0x7c], 0x58
mov byte [esi + 0x7d], 0xe5
mov byte [esi + 0x7e], 0xa3
mov byte [esi + 0x7f], 0xe7
mov byte [esi + 0x80], 0x9b
mov byte [esi + 0x81], 0xd9
mov byte [esi + 0x82], 0x6e
mov byte [esi + 0x83], 0xdb
mov byte [esi + 0x84], 0xbc
mov byte [esi + 0x85], 0xdd
mov byte [esi + 0x86], 0x84
mov byte [esi + 0x87], 0xdf
mov byte [esi + 0x88], 0xb0
mov byte [esi + 0x89], 0xd1
mov byte [esi + 0x8a], 0x94
mov byte [esi + 0x8b], 0xd3
mov byte [esi + 0x8c], 0x66
mov byte [esi + 0x8d], 0xd5
mov byte [esi + 0x8e], 0x69
mov byte [esi + 0x8f], 0xd7
mov byte [esi + 0x90], 0x75
mov byte [esi + 0x91], 0xc9
mov byte [esi + 0x92], 0xaa
mov byte [esi + 0x93], 0xcb
mov byte [esi + 0x94], 0x8d
mov byte [esi + 0x95], 0xcd
mov byte [esi + 0x96], 0x50
mov byte [esi + 0x97], 0xcf
mov byte [esi + 0x98], 0x54
mov byte [esi + 0x99], 0xc1
mov byte [esi + 0x9a], 0x5b
mov byte [esi + 0x9b], 0xc3
mov byte [esi + 0x9c], 0x72
mov byte [esi + 0x9d], 0xc5
mov byte [esi + 0x9e], 0x5f
mov byte [esi + 0x9f], 0xc7
mov byte [esi + 0xa0], 0xaa
mov byte [esi + 0xa1], 0x39
mov byte [esi + 0xa2], 0xaf
mov byte [esi + 0xa3], 0x3b
mov byte [esi + 0xa4], 0xaf
mov byte [esi + 0xa5], 0x3d
mov byte [esi + 0xa6], 0x8e
mov byte [esi + 0xa7], 0x3f
mov byte [esi + 0xa8], 0xa2
mov byte [esi + 0xa9], 0x31
mov byte [esi + 0xaa], 0xad
mov byte [esi + 0xab], 0x33
mov byte [esi + 0xac], 0x90
mov byte [esi + 0xad], 0x35
mov byte [esi + 0xae], 0xa3
mov byte [esi + 0xaf], 0x37
mov byte [esi + 0xb0], 0x8b
mov byte [esi + 0xb1], 0x29
mov byte [esi + 0xb2], 0xbe
mov byte [esi + 0xb3], 0x2b
mov byte [esi + 0xb4], 0x2c
mov byte [esi + 0xb5], 0x2d
mov eax, 0x3e
mov byte [esi + eax + 0x78], 0
add eax, 1
cmp eax, 0x41
jne 0x437b08
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x41
jae 0x437b51
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x78]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043ba50
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x78], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x437b1c
sub esp, 4
lea eax, [esi + 0x78]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
mov edi, dword [esi + 0x38]
mov ecx, dword [edi]
mov ecx, dword [ecx + 0x50]
sub esp, 0x18
mov edx, dword [esi + 0x54]
mov dword [esp + 0x14], edx
mov dword [esi + 0x12c], eax
mov dword [esp + 8], eax
mov edx, dword [esi + 0x48]
mov dword [esp + 4], edx
mov dword [esp], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
not eax
shr eax, 0x1f
mov dword [esi + 0x310], eax
mov eax, dword [esi + 0x314]
mov ecx, dword [esi + 0x310]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], 0
jmp eax
call fcn.0041d300
mov dword [esi + 0x368], 1
mov eax, dword [esi + 0x36c]
mov ecx, dword [esi + 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x1a8]
mov ecx, dword [esi + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
cmp dword [esi + 4], 0
sete cl
mov edx, dword [esi + 0x268]
mov edi, dword [esi + 0x26c]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [edi + 8]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov ecx, eax
mov dword [esi + 0x114], ecx
mov eax, dword [edi + 8]
shl ecx, 1
mov edx, eax
add edx, ecx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.004349b0
add esp, 8
xor ecx, ecx
sub ecx, eax
add ecx, 0xffffffff
xor edi, edi
sub edi, ecx
sub esp, 4
mov dword [esp], edi
call fcn.0040ca90
add esp, 4
mov edx, eax
mov eax, dword [esi + 0xf4]
mov dword [eax], edx
mov eax, dword [esi]
mov eax, dword [eax + 8]
mov ecx, dword [esi + 0x114]
shl ecx, 1
mov dword [esi + 0x40], eax
add eax, ecx
mov dword [esi + 0xf0], eax
mov eax, edx
add eax, edi
mov edi, eax
add eax, 0xffffffff
cmp edx, eax
jae 0x437cf1
mov dword [esi + 0xec], edx
call fcn.0041d300
call fcn.0041d300
mov edx, dword [esi + 0xec]
cmp dword [esi + 0xf0], 0
sete al
mov ecx, dword [esi + 0x40]
sub ecx, dword [esi + 0xf0]
setb cl
or al, cl
test al, 1
jne 0x437cb5
jmp 0x437cf1
mov eax, dword [esi + 0x40]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x437cf1
add dword [esi + 0x40], 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.0043b580
mov edx, dword [esi + 0xec]
add esp, 0xc
add edx, eax
mov eax, edi
jmp 0x437c78
mov byte [edx], 0
call fcn.0041d300
call fcn.0041d300
mov dword [esi + 0x280], 0
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi]
jmp eax
mov eax, dword [esi + 0x340]
mov ecx, dword [esi + 0x344]
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 + 0x270]
mov ecx, dword [esi + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
test edi, edi
sete al
mov dword [esi + 0x2e8], eax
mov eax, dword [esi + 0x2ec]
mov ecx, dword [esi + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esi + 0xc], edx
push eax
sub esp, 0x18
mov dword [esi + 0xfc], esp
mov eax, dword [esi + 0x350]
mov ecx, dword [esi + 0x354]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x2a0], 1
mov eax, dword [esi + 0x2a4]
mov ecx, dword [esi + 0x2a0]
mov eax, dword [eax + ecx*4]
mov edi, dword [esi + 0x4c]
jmp eax
mov eax, dword [esi + 0x38]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov eax, dword [esi + 0x1c0]
mov ecx, dword [esi + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov edx, ebx
add edx, 8
mov dword [esi + 0x2c8], 1
mov eax, dword [esi + 0x2cc]
mov ecx, dword [esi + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
sub esp, 4
mov eax, dword [esi + 0x48]
mov dword [esp], eax
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov dword [esp], ebx
call edi
mov dword [esi + 0x1d0], 1
mov eax, dword [esi + 0x1d4]
mov ecx, dword [esi + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
sub esp, 4
mov dword [esp], ebx
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0xf8]
mov al, byte [eax]
mov byte [esi + 0x74], al
mov byte [edi], 0xf8
mov byte [edi + 1], 0x67
mov byte [edi + 2], 0xfd
mov byte [edi + 3], 0x61
mov byte [edi + 4], 0xed
mov byte [edi + 5], 0x63
mov byte [edi + 6], 0xf2
mov byte [edi + 7], 0x5d
mov byte [edi + 8], 0xc8
mov byte [edi + 9], 0x5f
mov byte [edi + 0xa], 0xfd
mov byte [edi + 0xb], 0x59
mov byte [edi + 0xc], 0xd3
mov byte [edi + 0xd], 0x5b
mov byte [edi + 0xe], 0xec
mov byte [edi + 0xf], 0x55
mov byte [edi + 0x10], 0xf7
mov byte [edi + 0x11], 0x57
mov byte [edi + 0x12], 0xc1
mov byte [edi + 0x13], 0x51
mov byte [edi + 0x14], 0xcf
mov byte [edi + 0x15], 0x53
mov byte [edi + 0x16], 0x52
mov byte [edi + 0x17], 0x4d
mov eax, 0x18
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x19
jne 0x437ebc
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x19
jae 0x437f05
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [edi + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043bb00
mov edi, dword [esi + 0x4c]
add esp, 8
mov ecx, dword [esi + 0x20]
mov byte [edi + ecx], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
jmp 0x437ecf
mov edx, dword [esi + 0x11c]
mov eax, dword [edx]
mov eax, dword [eax + 0x10]
sub esp, 0x18
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edi
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 ecx, dword [esi]
mov cx, word [ecx]
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
insd dword es:[edi], dx
hlt
jmp 0x8b5d906d
call fcn.0041d300
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 + 0x248], 0
mov eax, dword [esi + 0x24c]
mov ecx, dword [esi + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2f0]
mov ecx, dword [esi + 0x2f4]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
sub esp, 4
mov dword [esp], edi
call ebx
mov eax, dword [esi + 0x158]
mov ecx, dword [esi + 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esi + 0x358]
mov ecx, dword [esi + 0x35c]
mov eax, dword [ecx + eax*4]
jmp eax
xor eax, eax
sub edi, 3
sete al
mov dword [esi + 0x220], eax
mov eax, dword [esi + 0x224]
mov ecx, dword [esi + 0x220]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esi + 0x54]
mov edx, dword [esi + 0xc]
jmp eax
call fcn.0041d300
mov dword [esi + 0x288], 1
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2c0]
mov ecx, dword [esi + 0x2c4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x2d0], 1
mov eax, dword [esi + 0x2d4]
mov ecx, dword [esi + 0x2d0]
mov eax, dword [eax + ecx*4]
jmp eax
push eax
mov dword [esi + 0x124], esp
push eax
mov edi, esp
mov eax, dword [esi + 0x370]
mov ecx, dword [esi + 0x374]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
sub esp, 4
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
sub esp, 4
mov dword [esp], eax
call ecx
mov dword [esi + 0x1b0], 1
mov eax, dword [esi + 0x1b4]
mov ecx, dword [esi + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esi + 0x2d8]
mov ecx, dword [esi + 0x2dc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1a0], 0
mov eax, dword [esi + 0x1a4]
mov ecx, dword [esi + 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esi + 0x260], eax
mov eax, dword [esi + 0x264]
mov ecx, dword [esi + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x208], 1
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1b8], 0
mov eax, dword [esi + 0x1bc]
mov ecx, dword [esi + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esi + 0x28]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
sub esp, 0x24
lea edx, [esi + 0x38]
mov dword [esp + 0x20], edx
mov dword [esp + 4], edi
mov dword [esp], ecx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call eax
mov eax, dword [esi + 0x188]
mov ecx, dword [esi + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov dword [esi + 0x1d8], 1
mov eax, dword [esi + 0x1dc]
mov ecx, dword [esi + 0x1d8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esi + 0x12c]
jmp eax
mov eax, dword [esi + 0x240]
mov ecx, dword [esi + 0x244]
mov eax, dword [ecx + eax*4]
xor edi, edi
jmp eax
mov eax, dword [esi + 0x2b0]
mov ecx, dword [esi + 0x2b4]
mov eax, dword [ecx + eax*4]
jmp eax
push eax
mov dword [esi + 0x130], esp
push eax
mov dword [esi + 0x50], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi], eax
mov esp, eax
push eax
sub esp, 0x18
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0xf8], esp
mov dword [esi + 0x28], 0
sub esp, 0x14
lea eax, [esi + 0x28]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], 0x44cc50
mov dword [esp + 8], 1
mov dword [esp + 4], 0
mov dword [esp], 0x44cc60
mov eax, dword [sym.imp.ole32.dll_CoCreateInstance]
call eax
not eax
shr eax, 0x1f
mov dword [esi + 0x348], eax
mov eax, dword [esi + 0x34c]
mov ecx, dword [esi + 0x348]
mov eax, dword [eax + ecx*4]
mov dword [esi + 4], 0
jmp eax
xor ecx, ecx
sub eax, 0xff78046f
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
sub eax, 0x56cb5925
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
mov eax, dword [ebp - 0x34]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x38]
sub esp, 0xc
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00439d00
add esp, 0xc
test al, al
mov eax, 0xcd398e68
jne 0x438df1
mov eax, 0xd5380c9c
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov byte [ebp - 0x11], 0
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xfdfae5f7
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xfab046c7
sete cl
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x18]
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], 0xcb80b97e
mov eax, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3d751751
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
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x13f5007c
mov eax, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x150]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x56cb5925
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
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xe3e2eb73
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x1e32c795
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
xor ecx, ecx
sub eax, 0x631b7e1f
sete cl
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd549558f
setl cl
mov dword [ebp - 0x21c], ecx
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xcd398e68
sete cl
mov dword [ebp - 0x1d4], ecx
mov eax, dword [ebp - 0x1d8]
mov ecx, dword [ebp - 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x99346bd7
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 - 0x58]
mov esi, dword [eax]
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x32c]
mov cl, byte [ecx]
mov byte [ebp - 0x44], cl
mov byte [eax], 0x41
mov byte [eax + 1], 0x76
mov byte [eax + 2], 0x64
mov byte [eax + 3], 0x72
mov byte [eax + 4], 0x73
mov byte [eax + 5], 0x55
mov byte [eax + 6], 0x94
mov byte [eax + 7], 0x55
mov byte [eax + 8], 0x56
mov byte [eax + 9], 0x4a
mov byte [eax + 0xa], 0xa2
mov ecx, 0xb
mov byte [eax + ecx], 0
add ecx, 1
cmp ecx, 0xd
jne 0x438feb
mov ebx, dword [ebp - 0x54]
mov dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x24]
cmp eax, 0xd
jae 0x439034
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
movzx ecx, byte [ebx + ecx]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043c890
add esp, 8
mov ecx, dword [ebp - 0x24]
mov byte [ebx + ecx], al
mov eax, dword [ebp - 0x24]
inc eax
mov dword [ebp - 0x24], eax
jmp 0x439001
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp + 4], edi
mov dword [esp], ebx
mov ecx, dword [ebp + 8]
call fcn.0040d660
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
test eax, eax
mov eax, 0xd5380c9c
je 0x439066
mov eax, 0x3d751751
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcd398e68
setl cl
mov dword [ebp - 0x1dc], ecx
mov ecx, dword [ebp - 0x1e0]
mov edx, dword [ebp - 0x1dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa720abee
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
xor ecx, ecx
mov edx, eax
sub edx, 0xcb80b97e
setl cl
mov dword [ebp - 0x1e4], ecx
mov ecx, dword [ebp - 0x1e8]
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
inc ecx
aaa
cli
lcall 0xe689, 0x14ec8350
push eax
push eax
sub esp, 0x10
push eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov edi, eax
mov dword [ebp - 0x60], edi
sub esp, 4
mov dword [esp], 0x4c
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
call ebx
mov dword [ebp - 0x68], eax
sub esp, 4
mov dword [esp], 0x4d
call ebx
mov dword [ebp - 0x64], eax
sub esp, 8
mov dword [esp], edi
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov ebx, eax
sub esp, 0xc
mov dword [esp + 8], esi
mov dword [esp], ebx
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, esi
mov ecx, dword [eax + 4]
mov dword [ebp - 0x48], ecx
mov edi, dword [eax + 8]
sub esp, 4
mov dword [esp], ebx
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov esi, dword [ebp - 0x60]
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov ebx, eax
sub esp, 0xc
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x48]
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 0x24
mov eax, dword [ebp - 0x64]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
mov eax, dword [ebp - 0x48]
mov dword [esp + 0xc], eax
mov dword [esp], ebx
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x13f5007c
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x631b7e1f
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, 0x4660f50
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
sub eax, 0xd549558f
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 - 0x5c]
mov ecx, dword [ebp - 0x324]
mov edx, dword [ebp - 0x328]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x96772a80
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
mov edx, eax
sub edx, 0xa6660b08
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
xor ecx, ecx
sub eax, 0xdd682bf0
sete cl
mov dword [ebp - 0x20c], ecx
mov eax, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x20c]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x1e32c795
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov eax, dword [ebp - 0x18]
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], 0x216c695e
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, 0x216c695e
setl cl
mov dword [ebp - 0x314], ecx
mov ecx, dword [ebp - 0x318]
mov edx, dword [ebp - 0x314]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x6f87166d
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
xor ecx, ecx
mov edx, eax
sub edx, 0x6f87166d
setl cl
mov dword [ebp - 0x2fc], ecx
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov bl, byte [ebp - 0x11]
mov eax, dword [ebp - 0x38]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jecxz 0x4393de
hlt
rol byte [ebx + 0x48904ec], 1
and al, 0xe8
mov dh, 0x36
std
inc dword [ebx + 0x458b04c4]
invalid
xor ecx, ecx
sub eax, 0x13f5007c
sete cl
mov dword [ebp - 0x274], ecx
mov eax, dword [ebp - 0x278]
mov ecx, dword [ebp - 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1e32c795
setl cl
mov dword [ebp - 0x284], ecx
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x25e2325a
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
adc al, 0x78
push edi
push 0x54
xor dl, byte [eax - 0x5b]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x631b7e1f
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfdfae5f7
setl cl
mov dword [ebp - 0x24c], ecx
mov ecx, dword [ebp - 0x250]
mov edx, dword [ebp - 0x24c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3d751751
setl cl
mov dword [ebp - 0x2c4], ecx
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x2c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xfdfae5f7
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
xor ecx, ecx
mov edx, eax
sub edx, 0xdd682bf0
setl cl
mov dword [ebp - 0x214], ecx
mov ecx, dword [ebp - 0x218]
mov edx, dword [ebp - 0x214]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd5380c9c
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xa8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x13f5007c
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
mov al, byte [ebp - 0x19]
test al, al
mov eax, 0xa6660b08
jne 0x439585
mov eax, 0xa720abee
mov ecx, dword [ebp - 0x10]
mov dword [ecx], eax
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd549558f
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8e72b976
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
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xcb80b97e
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x6f87166d
mov eax, dword [ebp - 0x124]
mov ecx, dword [ebp - 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x89869895
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, 0xfab046c7
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
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xff78046f
mov eax, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd5380c9c
setl cl
mov dword [ebp - 0x1fc], ecx
mov ecx, dword [ebp - 0x200]
mov edx, dword [ebp - 0x1fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9249dd88
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
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
sub esp, 0x2c
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xa720abee
mov eax, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xd1232370
sete cl
mov dword [ebp - 0x1ec], ecx
mov eax, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe3e2eb73
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, 0x45173862
setl cl
mov dword [ebp - 0x30c], ecx
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x30c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2eaad18c
sete cl
mov dword [ebp - 0x2b4], ecx
mov eax, dword [ebp - 0x2b8]
mov ecx, dword [ebp - 0x2b4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x45173862
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, 0x216c695e
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
mov edx, eax
sub edx, 0x631b7e1f
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 eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x32c], eax
sub esp, 4
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_GetDC]
call eax
mov dword [ebp - 0x18], eax
sub esp, 4
mov dword [esp], 0x4c
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
call esi
mov dword [ebp - 0x50], eax
sub esp, 4
mov dword [esp], 0x4d
call esi
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x18]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 7
mov eax, dword [sym.imp.GDI32.dll_GetCurrentObject]
call eax
mov esi, eax
mov eax, dword [ebp - 0x40]
sub esp, 0xc
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], 0x18
mov eax, dword [sym.imp.GDI32.dll_GetObjectW]
call eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 8]
mov dword [ebp - 0x28], eax
sub esp, 4
mov dword [esp], esi
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
sub esp, 0xc
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x38]
sub esp, 8
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
sub esp, 0x24
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], esi
mov dword [esp], ebx
mov dword [esp + 0x20], 0xcc0020
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_BitBlt]
call eax
mov eax, dword [ebp - 0x2c]
not eax
mov ecx, dword [ebp - 0x28]
xor ecx, 2
and eax, ecx
sub eax, 0xffffffff
setl byte [ebp - 0x19]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x96772a80
mov eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2eaad18c
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
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xd1232370
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x89869895
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
sti
in eax, 0x52
sbb byte [ebx - 0x74e30931], ch
inc ebp
invalid
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xfab046c7
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8537b359
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
xor ecx, ecx
sub eax, 0xa6660b08
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, 0x4660f50
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
xor ecx, ecx
sub eax, 0xe3e2eb73
sete cl
mov dword [ebp - 0x234], ecx
mov eax, dword [ebp - 0x238]
mov ecx, dword [ebp - 0x234]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x99346bd7
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
mov eax, dword [ebp - 0x10]
mov dword [eax], 0xe3e2eb73
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, 0xd1232370
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, 0xcb80b97e
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, 0xd5380c9c
sete cl
mov dword [ebp - 0x1f4], ecx
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x9249dd88
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8e72b976
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
mov eax, dword [ebp - 0x20]
sub esp, 4
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x99346bd7
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x25e2325a
sete cl
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2a4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa720abee
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, 0x89869895
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
mov edx, eax
sub edx, 0x9249dd88
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
call fcn.0041d300
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call fcn.0040caa0
add esp, 4
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x25e2325a
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, 0x96772a80
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
mov edx, eax
sub edx, 0xff78046f
setl cl
mov dword [ebp - 0x294], ecx
mov ecx, dword [ebp - 0x298]
mov edx, dword [ebp - 0x294]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3202a738
sete cl
mov dword [esp + 0x328], ecx
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x73af664d
setl cl
mov dword [esp + 0x378], ecx
mov ecx, dword [esp + 0x37c]
mov edx, dword [esp + 0x378]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x4b5e6a05
setl cl
mov dword [esp + 0x338], ecx
mov ecx, dword [esp + 0x33c]
mov edx, dword [esp + 0x338]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x25112fef
sete cl
mov dword [esp + 0x318], ecx
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb6fb3e3f
setl cl
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x1cc]
mov edx, dword [esp + 0x1c8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d300
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
setl byte [esp + 0x26]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb4fa48ed
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc4e266e1
sete cl
mov dword [esp + 0x200], ecx
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1355083c
sete cl
mov dword [esp + 0x2e0], ecx
mov eax, dword [esp + 0x2e4]
mov ecx, dword [esp + 0x2e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb4fa48ed
setl cl
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x1f4]
mov edx, dword [esp + 0x1f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xfa4ea38b
sete cl
mov dword [esp + 0x290], ecx
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2470fb02
setl cl
mov dword [esp + 0x398], ecx
mov ecx, dword [esp + 0x39c]
mov edx, dword [esp + 0x398]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x618e0e88
sete cl
mov dword [esp + 0x360], ecx
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
pop ds
jmp 0x43a6a4
xor ecx, ecx
sub eax, 0xd84477d9
sete cl
mov dword [esp + 0x218], ecx
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xb6fb3e3f
sete cl
mov dword [esp + 0x1c0], ecx
mov eax, dword [esp + 0x1c4]
mov ecx, dword [esp + 0x1c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x22]
mov byte [esp + 0x24], al
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x898d225e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xab0e3b5
sete cl
mov dword [esp + 0x2c8], ecx
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfe55f530
setl cl
mov dword [esp + 0x2b0], ecx
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc4623c13
sete cl
mov dword [esp + 0x1d8], ecx
mov eax, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1d8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d300
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x38]
sub ecx, eax
setl byte [esp + 0x27]
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf94963df
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb56856d
sete cl
mov dword [esp + 0x2d8], ecx
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfafaf479
setl cl
mov dword [esp + 0x2b8], ecx
mov ecx, dword [esp + 0x2bc]
mov edx, dword [esp + 0x2b8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x23]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xb6fb3e3f
mov byte [esp + 0x22], al
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfa4ea38b
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf125c10c
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x898d225e
sete cl
mov dword [esp + 0x180], ecx
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xdcfba4c3
sete cl
mov dword [esp + 0x230], ecx
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x230]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, word [esp + 0x3be]
mov ecx, dword [esp + 0x3c0]
or ecx, eax
mov dword [esp + 0x3b8], ecx
movzx eax, byte [esp + 0x3c]
shl eax, 0x10
mov dword [esp + 0x3b4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xb56856d
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xce249622
sete cl
mov dword [esp + 0x210], ecx
mov eax, dword [esp + 0x214]
mov ecx, dword [esp + 0x210]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x25]
and al, 1
movzx eax, al
add esp, 0x418
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0x905e4e6f
sete cl
mov dword [esp + 0x188], ecx
mov eax, dword [esp + 0x18c]
mov ecx, dword [esp + 0x188]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xfa4ea38b
setl cl
mov dword [esp + 0x298], ecx
mov ecx, dword [esp + 0x29c]
mov edx, dword [esp + 0x298]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xe9bd23db
sete cl
mov dword [esp + 0x248], ecx
mov eax, dword [esp + 0x24c]
mov ecx, dword [esp + 0x248]
mov eax, dword [eax + ecx*4]
jmp eax
add al, byte [ebp + ecx + 0x7014430d]
mov ah, 0x8b
inc esp
and al, 0x1c
mov dword [eax], 0xdcfba4c3
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3b4]
or eax, ecx
mov dword [esp + 0x3b0], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc4c364ba
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
xchg ecx, eax
mov dword [0xab84d535], eax
rcr byte [ecx + 0x4024448b], 1
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x898d225e
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x3b0]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xc07c4cba
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1355083c
setl cl
mov dword [esp + 0x2f8], ecx
mov ecx, dword [esp + 0x2fc]
mov edx, dword [esp + 0x2f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc4c364ba
setl cl
mov dword [esp + 0x280], ecx
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xb56856d
setl cl
mov dword [esp + 0x300], ecx
mov ecx, dword [esp + 0x304]
mov edx, dword [esp + 0x300]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3202a738
setl cl
mov dword [esp + 0x340], ecx
mov ecx, dword [esp + 0x344]
mov edx, dword [esp + 0x340]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xdcfba4c3
setl cl
mov dword [esp + 0x278], ecx
mov ecx, dword [esp + 0x27c]
mov edx, dword [esp + 0x278]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x38], eax
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xdcfba4c3
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xfe55f530
sete cl
mov dword [esp + 0x2a8], ecx
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xf125c10c
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x73af664d
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5d6ce94d
setl cl
mov dword [esp + 0x358], ecx
mov ecx, dword [esp + 0x35c]
mov edx, dword [esp + 0x358]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xc07c4cba
sete cl
mov dword [esp + 0x1d0], ecx
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5d6ce94d
sete cl
mov dword [esp + 0x350], ecx
mov eax, dword [esp + 0x354]
mov ecx, dword [esp + 0x350]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x618e0e88
setl cl
mov dword [esp + 0x388], ecx
mov ecx, dword [esp + 0x38c]
mov edx, dword [esp + 0x388]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xe6bf0657
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x91be4f55
setl cl
mov dword [esp + 0x1b0], ecx
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x1b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfafaf479
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x27]
test al, al
mov eax, 0x4b5e6a05
jne 0x43acdf
mov eax, 0xc4e266e1
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x3cc]
test eax, eax
mov eax, 0x51b17334
jne 0x43ad0d
mov eax, 0xb6fb3e3f
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x22], 0
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x905e4e6f
setl cl
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x190]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xe6bf0657
sete cl
mov dword [esp + 0x238], ecx
mov eax, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xab0e3b5
setl cl
mov dword [esp + 0x2d0], ecx
mov ecx, dword [esp + 0x2d4]
mov edx, dword [esp + 0x2d0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf125c10c
setl cl
mov dword [esp + 0x268], ecx
mov ecx, dword [esp + 0x26c]
mov edx, dword [esp + 0x268]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x38]
imul eax, ecx
mov ecx, dword [esp + 0x30]
add ecx, eax
mov dword [esp + 0x3c4], ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1e0fa1ef
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe9bd23db
setl cl
mov dword [esp + 0x270], ecx
mov ecx, dword [esp + 0x274]
mov edx, dword [esp + 0x270]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa65cb1d
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x93da8480
setl cl
mov dword [esp + 0x1a8], ecx
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2470fb02
sete cl
mov dword [esp + 0x310], ecx
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x34]
inc eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0xe6bf0657
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d300
mov al, byte [esp + 0x24]
and al, 1
mov byte [esp + 0x25], al
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x618e0e88
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa65cb1d
setl cl
mov dword [esp + 0x308], ecx
mov ecx, dword [esp + 0x30c]
mov edx, dword [esp + 0x308]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6ab9835a
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xa65cb1d
sete cl
mov dword [esp + 0x2c0], ecx
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x91be4f55
sete cl
mov dword [esp + 0x198], ecx
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
fadd qword [edi - 0x38]
adc byte [edx + eax*2 - 0x18], 0x1a
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6ab9835a
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1e0fa1ef
setl cl
mov dword [esp + 0x2f0], ecx
mov ecx, dword [esp + 0x2f4]
mov edx, dword [esp + 0x2f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x4b5e6a05
sete cl
mov dword [esp + 0x330], ecx
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf125c10c
sete cl
mov dword [esp + 0x250], ecx
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc4623c13
setl cl
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x1e4]
mov edx, dword [esp + 0x1e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xce249622
setl cl
mov dword [esp + 0x228], ecx
mov ecx, dword [esp + 0x22c]
mov edx, dword [esp + 0x228]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x26]
test al, al
mov eax, 0x25112fef
jne 0x43b07d
mov eax, 0x93da8480
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6ab9835a
sete cl
mov dword [esp + 0x368], ecx
mov eax, dword [esp + 0x36c]
mov ecx, dword [esp + 0x368]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf94963df
sete cl
mov dword [esp + 0x288], ecx
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xc4e266e1
setl cl
mov dword [esp + 0x208], ecx
mov ecx, dword [esp + 0x20c]
mov edx, dword [esp + 0x208]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x5d6ce94d
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xf94963df
setl cl
mov dword [esp + 0x3a0], ecx
mov ecx, dword [esp + 0x3a4]
mov edx, dword [esp + 0x3a0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x51b17334
setl cl
mov dword [esp + 0x390], ecx
mov ecx, dword [esp + 0x394]
mov edx, dword [esp + 0x390]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf626196b
setl cl
mov dword [esp + 0x260], ecx
mov ecx, dword [esp + 0x264]
mov edx, dword [esp + 0x260]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xc07c4cba
setl cl
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x25112fef
setl cl
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x324]
mov edx, dword [esp + 0x320]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d300
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov dword [esp], 0
mov eax, dword [sym.imp.USER32.dll_ReleaseDC]
call eax
sub esp, 8
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2470fb02
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x51b17334
sete cl
mov dword [esp + 0x348], ecx
mov eax, dword [esp + 0x34c]
mov ecx, dword [esp + 0x348]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x434]
mov dword [ecx], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x430]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x91be4f55
mov byte [esp + 0x23], 1
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.0040caa0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xf626196b
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x30]
lea edi, [esp + 0x5c]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 9
call fcn.00408590
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
test eax, eax
mov eax, 0xe9bd23db
jne 0x43b314
mov eax, 0x91be4f55
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x23], 0
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xe6bf0657
setl cl
mov dword [esp + 0x240], ecx
mov ecx, dword [esp + 0x244]
mov edx, dword [esp + 0x240]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x34]
lea eax, [eax + ecx*4]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
and eax, 0xff00ff00
mov dword [esp + 0x3c0], eax
movzx eax, byte [esp + 0x3e]
shl eax, 0x10
mov dword [esp + 0x3bc], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd84477d9
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6ab9835a
setl cl
mov dword [esp + 0x380], ecx
mov ecx, dword [esp + 0x384]
mov edx, dword [esp + 0x380]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xf626196b
sete cl
mov dword [esp + 0x258], ecx
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xfafaf479
sete cl
mov dword [esp + 0x2a0], ecx
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x3a8]
mov edx, dword [esp + 0x3ac]
mov ecx, dword [edx + ecx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb4fa48ed
sete cl
mov dword [esp + 0x1b8], ecx
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1e0fa1ef
sete cl
mov dword [esp + 0x2e8], ecx
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0x44]
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 dword [esp + 0x3c8], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xab0e3b5
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x73af664d
sete cl
mov dword [esp + 0x370], ecx
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xd84477d9
setl cl
mov dword [esp + 0x220], ecx
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x220]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfafaf479
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc4c364ba
sete cl
mov dword [esp + 0x1f8], ecx
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x93da8480
sete cl
mov dword [esp + 0x1a0], ecx
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.0044ae40
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x44a810
mov esi, dword [esp + 4]
mov eax, dword [0x45571c]
test eax, eax
je 0x44a88a
xor ecx, ecx
mov edx, dword [0x455720]
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0xbbe848dd
je 0x44a860
inc ecx
cmp eax, ecx
jne 0x44a850
jmp 0x44a88a
mov eax, dword [edx + ecx*8 + 4]
cmp eax, esi
je 0x44a88a
lea ecx, [esp + 0xc]
lea edx, [esp + 0x10]
push ecx
push ebp
push ebx
push 2
push edx
push edi
push 6
push dword [0x455724]
push eax
call fcn.00445bb0
add esp, 0x24
mov esi, eax
test esi, esi
js 0x44a903
mov edi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x44a89f
mov ecx, dword [ebx + 4]
mov dword [eax], ecx
test edi, edi
je 0x44a903
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x44a8fe
mov edx, dword [edi]
mov ecx, dword [ebx + 8]
cmp edx, ecx
jb 0x44a8b6
mov edx, ecx
lea ebp, [ebx + 0xc]
mov ecx, edx
shr ecx, 2
mov edi, eax
xchg esi, ebp
rep movsd dword es:[edi], dword [esi]
xchg esi, ebp
mov ecx, edx
and ecx, 0xfffffffc
add eax, ecx
lea ebp, [ebx + ecx]
add ebp, 0xc
mov ecx, edx
shr ecx, 1
and ecx, 1
mov dword [esp + 0x18], ebp
mov edi, eax
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test dl, 1
mov edi, dword [esp + 0x40]
je 0x44a8fe
and edx, 2
mov ecx, dword [esp + 0x18]
movzx ecx, byte [ecx + edx]
mov byte [eax + edx], cl
mov eax, dword [ebx + 8]
mov dword [edi], eax
push ebx
call fcn.00443220
add esp, 4
mov eax, esi
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
inc dword [edx]
aaa
inc dword [edx]
ret 0x42ff
add dword [ebx], eax
add byte [edx], 0x43
add byte [ebp - 2147466495], al
add al, byte [ebx]
xchg ebp, eax
add dword [ebx], eax
add byte [edx], 0x43
add byte [ebp - 2147466495], ah
add al, byte [ebx]
mov ch, 1
inc ebx
add byte [eax - 0x7fffbcfe], al
add al, byte [ebx]
add byte [edx], 0x43
add byte [eax], dh
inc ebx
add byte [eax + 0x6e004302], al
add al, byte [ebx]
xchg byte [edx], al
inc ebx
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 bl, ah
add eax, 0x5080043
inc ebx
add byte [ebx - 0x9ffbcfe], bh
add al, 0x43
add al, bh
add al, byte [ebx]
clc
add al, byte [ebx]
clc
add al, byte [ebx]
sbb al, 3
inc ebx
add al, bh
add al, byte [ebx]
sub al, byte [ebx]
inc ebx
add byte [edx], bh
add eax, dword [ebx]
rol byte [ebx + eax*2], 1
add al, dh
add al, 0x43
add al, ah
add al, 0x43
add dh, dl
add al, 0x43
add al, ah
add al, 0x43
add al, dh
add al, 0x43
add al, dh
add al, 0x43
add al, dh
add al, 0x43
add dh, dh
add al, 0x43
add al, dh
add al, 0x43
add ah, bh
add al, 0x43
add byte [eax], cl
add eax, 0x5940043
inc ebx
add byte [eax], dh
inc ebx
add byte [eax - 0x5fffbd01], ah
inc dword [edx]
mov al, byte [0xa20042ff]
inc dword [edx]
test al, 0xff
inc edx
add dl, al
inc dword [edx]
sar bh, 0x42
add al, al
inc dword [edx]
ret 0x42ff