Function at 0x1003f7d0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x5fc
push ebx
push esi
push edi
mov eax, dword [0x1009b1a0]
xor ecx, ecx
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], ecx
mov edx, dword [0x1009b140]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x48], 0xa88c
movzx ax, byte [0x1009b01f]
mov word [ebp - 8], ax
mov ecx, dword [0x1009b144]
mov dword [ebp - 0x4c], ecx
mov dl, byte [0x1009b0a7]
mov byte [ebp - 1], dl
mov eax, 0x757e
mov word [ebp - 0x1c], ax
mov ecx, 0x98c2
mov word [ebp - 0x14], cx
mov edx, 0xf5272
mov dword [ebp - 0x44], 0x39ff920d
mov dword [ebp - 0x40], edx
movzx ax, byte [0x1009b07f]
mov word [ebp - 0x30], ax
mov byte [ebp - 2], 0x46
mov cx, word [0x1009b184]
mov word [ebp - 0x18], cx
mov edx, 0xfffff4b1
mov word [ebp - 0x10], dx
mov al, byte [0x1009b180]
mov byte [ebp - 3], al
mov ecx, dword [0x1009b178]
mov dword [ebp - 0x3c], ecx
xor edx, edx
mov dword [ebp - 0x60], 0xc542c80a
mov dword [ebp - 0x5c], edx
mov eax, 0x66f2
mov word [ebp - 0x28], ax
mov ecx, 0x5c
mov word [ebp - 0xc], cx
mov edx, 0x33
mov word [ebp - 0x20], dx
movzx eax, word [0x1009b184]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov al, byte [0x1009b180]
mov byte [ebp - 4], al
mov ecx, dword [0x1009b144]
mov word [ebp - 0x24], cx
mov dword [ebp - 0x58], 0xd
xor edx, edx
mov dword [ebp - 0x54], 0x344c33e6
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x86], 0xa0
mov al, byte [0x1009b1a0]
mov byte [ebp - 0x85], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x5c0], edx
mov word [ebp - 0x410], cx
mov al, byte [0x1009b1a0]
mov byte [ebp - 0x84], al
mov ecx, dword [0x1009b1a0]
mov dword [ebp - 0x5e8], ecx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x5d0], edx
mov dword [ebp - 0x5cc], eax
mov dword [ebp - 0x5ec], 0xbc1f
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x5f0], edx
mov byte [ebp - 0x83], cl
movzx eax, byte [0x1009b0a6]
cdq
mov dword [ebp - 0x5d8], eax
mov dword [ebp - 0x5d4], edx
mov byte [ebp - 0x82], 0x2d
mov eax, dword [0x1009b190]
mov word [ebp - 0x40c], ax
mov byte [ebp - 0x81], 0x70
mov cx, word [0x1009b170]
mov word [ebp - 0x408], cx
mov edx, 0x8722
mov word [ebp - 0x404], dx
mov eax, dword [0x1009b170]
xor ecx, ecx
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], ecx
movsx eax, word [ebp - 8]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x38]
movzx eax, byte [ebp - 1]
cdq
or eax, ecx
mov byte [ebp - 1], al
push 0
push 0x21
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.1006c090
mov byte [ebp - 4], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
push 0
push 0x32
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov eax, dword [0x1009bc7c]
mov dword [ebp - 0x8c], eax
mov dword [0x1009b1b0], 0
movsx cx, byte [ebp - 4]
mov edx, 2
imul eax, edx, 0x29ff
mov word [eax + 0x1021a340], cx
mov ecx, dword [ebp - 0x3c]
sub ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
xor edx, dword [0x1009b138]
xor eax, dword [0x1009b13c]
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
sub ecx, edx
sbb esi, eax
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
mov edx, dword [0x1009b1b0]
mov dword [ebp - 0x414], edx
cmp dword [ebp - 0x414], 0
je 0x1003fa7c
jmp 0x1003fac4
movsx eax, word [ebp - 0xc]
sub eax, 0x6f4e52de
mov dword [0x1009b170], eax
push 0
push 0xe6
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1006c090
mov word [ebp - 0x1c], ax
mov eax, 1
imul ecx, eax, 0x98
mov dl, byte [ebp - 0x14]
mov byte [ecx + 0x101c09f0], dl
imul eax, dword [0x1009b144], 0x76539866
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x29c
mov dword [ebp - 0x2e4], ecx
mov edx, dword [ebp - 0x54]
add edx, 0xf7
mov eax, dword [ebp - 0x50]
adc eax, 0
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x4c], 0x732a8780
imul edx, dword [ebp - 0x48], 0xd8c9c665
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x3ed
mov dword [ebp - 0x5f4], ecx
movzx edx, byte [0x1009b0ef]
test edx, edx
jne 0x1003fb37
mov eax, 1
mov word [ebp - 0x6a], ax
jmp 0x1003fb3d
xor ecx, ecx
mov word [ebp - 0x6a], cx
mov dx, word [ebp - 0x6a]
mov word [0x1009b184], dx
cmp dword [ebp - 0x2c], 0
jne 0x1003fb5a
mov dword [ebp - 0xc0], 1
jmp 0x1003fb64
mov dword [ebp - 0xc0], 0
movzx eax, byte [0x1009b0ee]
mov ecx, dword [ebp - 0xc0]
sub ecx, eax
movsx edx, byte [0x1009b0ba]
movzx eax, byte [0x1009b07e]
and edx, eax
not edx
sub ecx, edx
mov byte [0x1009b07f], cl
movzx ecx, byte [ebp - 3]
add ecx, 0x8404
mov byte [0x1009b07f], cl
mov edx, dword [ebp - 0x8c]
add edx, 0x9a
mov dword [ebp - 0x554], edx
movzx eax, word [ebp - 0x18]
cmp eax, dword [ebp - 0x48]
jbe 0x1003fbc4
mov dword [ebp - 0xc4], 1
jmp 0x1003fbce
mov dword [ebp - 0xc4], 0
movzx ecx, word [ebp - 0x18]
cmp ecx, 0x47
jle 0x1003fbe3
mov dword [ebp - 0xc8], 1
jmp 0x1003fbed
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0xc4]
cmp edx, dword [ebp - 0xc8]
je 0x1003fca8
movsx eax, byte [ebp - 4]
movsx ecx, word [ebp - 8]
add eax, ecx
mov byte [ebp - 4], al
movzx edx, byte [0x1009b07f]
imul eax, edx, 0xc09e2302
mov ecx, dword [0x1009b190]
add ecx, eax
mov dword [0x1009b190], ecx
push 0x8495a
push 0x4b4e181a
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov byte [0x1009b0ef], al
movzx ecx, byte [0x1009b0ee]
test ecx, ecx
je 0x1003fc5f
movsx edx, word [ebp - 8]
mov dword [ebp - 0xcc], edx
jmp 0x1003fc6a
mov eax, dword [0x1009b1a0]
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xcc]
mov dword [0x1009b18c], ecx
movsx eax, word [ebp - 8]
shl eax, 7
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
push 0
push 0x4c8f
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1006c090
mov ecx, dword [0x1009b18c]
add ecx, eax
mov dword [0x1009b18c], ecx
jmp 0x1003fcd4
movzx edx, word [ebp - 0x20]
mov eax, 0xe7d23534
sub eax, edx
not eax
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x60]
add ecx, 0x9a6120ea
mov byte [ebp - 2], cl
movsx eax, word [ebp - 0xc]
add eax, 0x9c
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x90], edx
mov byte [0x1009b07e], 0xc6
movsx eax, byte [ebp - 4]
cdq
push 0x2daff
push 0x7bbcc041
push edx
push eax
call fcn.1006c090
mov word [0x1009b180], ax
mov eax, dword [ebp - 0x90]
add eax, 0x19f
mov dword [ebp - 0x2e8], eax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x344], edx
mov eax, dword [ebp - 0x348]
or eax, dword [ebp - 0x344]
jne 0x1003fd46
mov dword [ebp - 0xd0], 1
jmp 0x1003fd50
mov dword [ebp - 0xd0], 0
movzx ecx, byte [0x1009b01f]
imul ecx, dword [ebp - 0xd0]
test ecx, ecx
je 0x1003fdb4
mov edx, 0xeaed
mov word [ebp - 0x18], dx
movzx eax, word [0x1009b184]
mov ecx, dword [0x1009b148]
add ecx, eax
mov edx, dword [0x1009b148]
sub edx, ecx
mov dword [0x1009b148], edx
mov eax, dword [0x1009b190]
imul eax, dword [0x1009b14c]
mov ecx, dword [0x1009b190]
sub ecx, eax
mov dword [0x1009b190], ecx
mov byte [ebp - 2], 0x63
imul edx, dword [ebp - 0x58], 0xa3
mov word [0x1009b158], dx
mov eax, dword [ebp - 0x90]
add eax, 0x8d
mov dword [ebp - 0x1bc], eax
mov ecx, dword [0x1009b144]
shr ecx, 3
mov dword [0x1009b190], ecx
movzx eax, byte [ebp - 3]
cdq
add eax, 0x17cb021d
mov word [ebp - 0x30], ax
imul edx, dword [0x1009b14c], 0xccb1
mov word [ebp - 0x28], dx
imul eax, dword [0x1009b148], 0x4a1b3bd9
mov byte [0x1009b07e], al
push 0
push 0x94
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.1006c090
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx eax, byte [ebp - 4]
add eax, 0xe4
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x375
mov dword [ebp - 0x2ec], ecx
push 0
push 0x27
mov edx, dword [ebp - 0x40]
push edx
mov eax, dword [ebp - 0x44]
push eax
call fcn.1006c090
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx ecx, byte [ebp - 3]
movzx edx, word [ebp - 0x24]
add ecx, edx
movzx eax, byte [ebp - 3]
add eax, ecx
mov byte [ebp - 3], al
mov dword [0x1009b170], 0x8473
mov byte [0x1009b033], 0xf
movzx ecx, byte [0x1009b0ef]
test ecx, ecx
jne 0x1003fea7
xor edx, edx
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x428], edx
jmp 0x1003feb2
xorps xmm0, xmm0
movlpd qword [ebp - 0x42c], xmm0
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
mov dword [ebp - 0x558], ecx
sub eax, dword [ebp - 0x42c]
not eax
mov dword [0x1009b190], eax
mov edx, dword [0x1009bc7c]
mov dword [ebp - 0x94], edx
movzx eax, word [ebp - 0x14]
cdq
mov dword [ebp - 0x434], eax
mov dword [ebp - 0x430], edx
mov eax, dword [0x1009b17c]
cmp eax, dword [ebp - 0x430]
jg 0x1003ff16
jl 0x1003ff0a
mov ecx, dword [0x1009b178]
cmp ecx, dword [ebp - 0x434]
ja 0x1003ff16
mov dword [ebp - 0xd4], 1
jmp 0x1003ff20
mov dword [ebp - 0xd4], 0
cmp dword [0x1009b17c], 0
jg 0x1003ff40
jl 0x1003ff34
cmp dword [0x1009b178], 0x3a
ja 0x1003ff40
mov dword [ebp - 0xd8], 1
jmp 0x1003ff4a
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0xd4]
cmp edx, dword [ebp - 0xd8]
jne 0x1003ff5a
jmp 0x1003ffb1
mov eax, dword [0x1009b178]
sub eax, dword [ebp - 0x38]
mov ecx, dword [0x1009b17c]
sbb ecx, dword [ebp - 0x34]
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
movzx eax, word [ebp - 0x24]
cdq
add eax, 0x92bedd40
mov word [ebp - 0x14], ax
movsx edx, word [ebp - 0x28]
imul eax, edx, 0xeadf
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
xor edx, edx
mov dword [ebp - 0x54], 2
mov dword [ebp - 0x50], edx
mov ax, word [0x1009bc7c]
mov word [ebp - 8], ax
mov ecx, dword [ebp - 0x94]
add ecx, 0xf4
mov dword [ebp - 0x2f0], ecx
movzx edx, word [ebp - 0x30]
test edx, edx
je 0x100400a8
mov eax, dword [0x1009b178]
or eax, dword [0x1009b17c]
je 0x10040027
mov ecx, dword [0x1009b140]
sub ecx, 0x3c51
mov word [ebp - 0xc], cx
movsx edx, word [ebp - 0x1c]
add edx, dword [0x1009b18c]
mov dword [0x1009b18c], edx
movsx eax, word [ebp - 0x10]
sar eax, 7
mov word [ebp - 0xc], ax
mov ecx, 0x5e70
mov word [ebp - 0x28], cx
movsx edx, word [ebp - 0x28]
sub edx, 0x2a
movsx eax, byte [0x1009b0ba]
sub eax, edx
mov byte [0x1009b0ba], al
jmp 0x100400a6
movzx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x100400a6
movsx edx, byte [ebp - 4]
add edx, dword [ebp - 0x2c]
movsx eax, word [ebp - 0x28]
movsx ecx, word [ebp - 0x10]
imul eax, ecx
sub edx, eax
mov word [ebp - 0x30], dx
imul edx, dword [ebp - 0x3c], 0xf6f7f361
mov dword [0x1009b170], edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x55c], ecx
mov dword [0x1009b18c], eax
movzx eax, word [0x1009b184]
not eax
sub eax, 0x4e6f
movzx edx, byte [ebp - 1]
imul eax, edx
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
mov dword [0x1009b144], 0x9d831e0d
movzx eax, byte [0x1009b0a6]
imul eax, eax, 0x41
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10040102
mov ecx, 0x3d50fdf3
test ecx, ecx
je 0x10040102
movzx edx, byte [ebp - 3]
imul eax, edx, 0xb
mov dword [ebp - 0x4c], eax
mov dword [0x1009b140], 8
mov cx, word [0x1009bc7c]
mov word [0x1009b180], cx
movzx edx, word [ebp - 0x24]
sub edx, dword [0x1009b18c]
movzx eax, word [ebp - 0x24]
imul eax, edx
mov word [ebp - 0x24], ax
movsx ecx, byte [ebp - 4]
add ecx, dword [ebp - 0x4c]
movsx edx, byte [ebp - 4]
sub edx, ecx
mov byte [ebp - 4], dl
mov ax, word [0x1009bc7c]
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x94]
add ecx, 0x54
mov dword [ebp - 0x560], ecx
mov dx, word [0x1009bc7c]
mov word [ebp - 0x18], dx
movzx eax, word [ebp - 0x18]
sub eax, dword [ebp - 0x4c]
jne 0x10040131
mov dword [ebp - 0xdc], 1
jmp 0x1004013b
mov dword [ebp - 0xdc], 0
movzx ecx, word [ebp - 0x24]
not ecx
movzx edx, byte [ebp - 3]
sub ecx, edx
mov eax, ecx
imul eax, dword [ebp - 0xdc]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x30]
cdq
xor eax, dword [0x1009b138]
xor edx, dword [0x1009b13c]
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [ebp - 0x94]
add eax, 0x1be
mov dword [ebp - 0xb4], eax
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
je 0x100401a3
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xe0], edx
jmp 0x100401ad
movzx eax, byte [ebp - 2]
mov dword [ebp - 0xe0], eax
mov cl, byte [ebp - 0xe0]
mov byte [0x1009b033], cl
movzx edx, byte [ebp - 1]
sub edx, 0x596ae208
movsx eax, byte [ebp - 4]
sub eax, edx
mov byte [ebp - 4], al
movzx ecx, byte [ebp - 3]
test ecx, ecx
jne 0x100401e0
mov dword [ebp - 0xe4], 1
jmp 0x100401ea
mov dword [ebp - 0xe4], 0
mov edx, dword [0x1009b170]
not edx
movzx eax, byte [ebp - 2]
not eax
xor edx, eax
movsx ecx, word [ebp - 0xc]
sub ecx, dword [ebp - 0xe4]
xor edx, ecx
movzx eax, byte [0x1009b07e]
movzx ecx, word [ebp - 0x14]
not ecx
add ecx, dword [ebp - 0x58]
sub eax, ecx
imul edx, eax
mov word [ebp - 0x10], dx
mov byte [0x1009b0ba], 4
mov dword [ebp - 0x98], 0
jmp 0x10040241
mov edx, dword [ebp - 0x98]
add edx, 2
mov dword [ebp - 0x98], edx
cmp dword [ebp - 0x98], 0x2b8
jge 0x100403ea
mov eax, 0xe2
sub eax, dword [ebp - 0x4c]
movsx ecx, word [ebp - 8]
cmp eax, ecx
jle 0x100402fc
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x5e4], eax
and edx, 0x88
mov word [0x1009b158], dx
movzx ecx, byte [0x1009b033]
test ecx, ecx
je 0x100402a1
movsx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], edx
jmp 0x100402b3
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x220]
mov edx, dword [ebp - 0x21c]
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
mov eax, dword [ebp - 0x60]
xor eax, 0xb6
mov ecx, dword [ebp - 0x5c]
xor ecx, 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x50]
push ecx
mov ecx, dword [ebp - 0x54]
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x10], ax
jmp 0x100403c9
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1006c090
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx ecx, byte [0x1009b0ba]
test ecx, ecx
jne 0x1004032c
mov dword [ebp - 0xe8], 1
jmp 0x10040336
mov dword [ebp - 0xe8], 0
movzx edx, byte [0x1009b0ef]
add edx, dword [ebp - 0xe8]
jne 0x10040351
mov dword [ebp - 0xec], 1
jmp 0x1004035b
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 0xec]
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1009b18c]
xor edx, edx
and ecx, dword [ebp - 0x44]
and edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x44]
sub eax, ecx
mov ecx, dword [ebp - 0x40]
sbb ecx, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
movzx edx, byte [ebp - 3]
test edx, edx
je 0x10040397
mov eax, dword [0x1009b190]
mov dword [ebp - 0xf0], eax
jmp 0x100403a3
mov ecx, dword [0x1009b148]
mov dword [ebp - 0xf0], ecx
mov dl, byte [ebp - 0xf0]
mov byte [ebp - 3], dl
movzx eax, word [0x1009b184]
xor eax, dword [0x1009b190]
movzx ecx, word [0x1009b184]
add ecx, eax
mov word [0x1009b184], cx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
add edx, 1
adc eax, 0
mov dword [0x1009b130], edx
mov dword [0x1009b134], eax
jmp 0x10040232
movzx ecx, byte [ebp - 3]
not ecx
test ecx, ecx
jne 0x10040522
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x4c]
jge 0x10040522
movzx eax, byte [0x1009b0a6]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1004051d
push 0xfbd9d
push 0xdc95d466
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
add ecx, eax
adc esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov dword [0x1009b170], 0xd2d153db
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x10040480
xor eax, eax
mov dword [ebp - 0x43c], 1
mov dword [ebp - 0x438], eax
jmp 0x1004048b
xorps xmm0, xmm0
movlpd qword [ebp - 0x43c], xmm0
movsx eax, word [ebp - 0x1c]
cdq
push 0xf9aab
push 0xa3008986
push edx
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, byte [0x1009b0ba]
cdq
add eax, 0x3c128217
mov edx, dword [ebp - 0x43c]
sub edx, eax
not edx
xor ecx, edx
mov dword [0x1009b140], ecx
mov eax, 1
imul ecx, eax, 0x1e
movzx edx, byte [ecx + 0x101c0aa8]
movzx eax, byte [ebp - 2]
sub eax, edx
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x37c35306
mov word [ebp - 0x10], cx
cmp dword [0x1009b1b0], 0
jne 0x100404fc
mov dword [ebp - 0xf4], 1
jmp 0x10040506
mov dword [ebp - 0xf4], 0
mov eax, dword [ebp - 0xf4]
sub eax, 0x90d8
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
jmp 0x10040606
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x444], edx
mov dword [ebp - 0x440], eax
mov ecx, dword [ebp - 0x444]
or ecx, dword [ebp - 0x440]
je 0x10040553
movzx edx, byte [ebp - 2]
mov dword [ebp - 0xf8], edx
jmp 0x1004055d
movsx eax, word [ebp - 0x28]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x48]
sub ecx, dword [0x1009b178]
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movzx ecx, byte [0x1009b0ee]
add ecx, 0x7e8e
mov dword [0x1009b190], ecx
mov edx, dword [ebp - 0x48]
xor eax, eax
push 0xddc74
push 0x3b41d360
push eax
push edx
call fcn.1006c090
mov ecx, eax
mov eax, dword [0x1009b14c]
cdq
add eax, ecx
mov dword [0x1009b14c], eax
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
and ecx, 0x5d
and esi, 0
movzx eax, word [ebp - 0x14]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x14], ax
mov dword [ebp - 0x80], 0
cmp dword [0x1009b188], 0
je 0x100408be
mov edx, dword [0x1009b160]
push edx
call dword [sym.imp.USER32.dll_GetParent]
mov word [ebp - 0x14], ax
movzx eax, word [ebp - 0x14]
test eax, eax
jg 0x100408b9
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x448], esi
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], edx
mov edx, dword [ebp - 0x44c]
cmp edx, dword [ebp - 0x454]
jne 0x10040680
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x450]
je 0x100407f7
movsx ecx, word [ebp - 0xc]
movzx edx, word [ebp - 0x18]
not edx
movsx eax, word [ebp - 0xc]
add edx, eax
xor ecx, edx
jne 0x100406a8
xor ecx, ecx
mov dword [ebp - 0x268], 1
mov dword [ebp - 0x264], ecx
jmp 0x100406b3
xorps xmm0, xmm0
movlpd qword [ebp - 0x268], xmm0
movsx eax, word [ebp - 0x28]
cdq
push edx
push eax
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.1006c090
mov ecx, dword [ebp - 0x54]
and ecx, 0x19a46f72
mov esi, dword [ebp - 0x50]
and esi, 0xfff7c8d6
push esi
push ecx
push edx
push eax
call fcn.1006c090
push edx
push eax
mov edx, dword [ebp - 0x264]
push edx
mov eax, dword [ebp - 0x268]
push eax
call fcn.1006c090
mov byte [ebp - 1], al
mov ecx, dword [ebp - 0x44]
or ecx, dword [ebp - 0x40]
jne 0x1004070e
mov dword [ebp - 0xfc], 1
jmp 0x10040718
mov dword [ebp - 0xfc], 0
mov edx, dword [0x1009b138]
or edx, dword [0x1009b13c]
jne 0x1004073a
xor eax, eax
mov dword [ebp - 0x45c], 1
mov dword [ebp - 0x458], eax
jmp 0x10040745
xorps xmm0, xmm0
movlpd qword [ebp - 0x45c], xmm0
movzx eax, word [ebp - 0x18]
movzx ecx, word [0x1009b184]
sub eax, ecx
add eax, dword [ebp - 0xfc]
cdq
movzx edx, word [0x1009b184]
imul edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
and ecx, dword [ebp - 0x45c]
or edx, ecx
sub eax, edx
mov word [ebp - 8], ax
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x211955b7
sub eax, 0xcda6
cdq
mov esi, eax
mov edi, edx
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.1006c090
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x460], edi
mov edx, dword [ebp - 0x464]
or edx, dword [ebp - 0x460]
jne 0x100407cf
xor eax, eax
mov dword [ebp - 0x270], 1
mov dword [ebp - 0x26c], eax
jmp 0x100407da
xorps xmm0, xmm0
movlpd qword [ebp - 0x270], xmm0
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x26c]
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], edx
jmp 0x100408b9
movsx eax, byte [ebp - 4]
test eax, eax
je 0x1004080d
mov ecx, dword [0x1009b144]
mov dword [ebp - 0x100], ecx
jmp 0x10040817
movzx edx, word [ebp - 0x18]
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x100]
mov dword [0x1009b140], eax
movzx ecx, word [ebp - 0x20]
sar ecx, 8
mov dword [0x1009b190], ecx
mov edx, 4
imul eax, edx, 0x14
movzx ecx, byte [0x1009b07e]
add ecx, dword [eax + 0x1015e318]
mov byte [0x1009b07e], cl
movzx eax, word [ebp - 0x30]
sub eax, dword [ebp - 0x4c]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
cmp dword [0x1009b144], 0
jne 0x10040875
xor edx, edx
mov dword [ebp - 0x46c], 1
mov dword [ebp - 0x468], edx
jmp 0x10040880
xorps xmm0, xmm0
movlpd qword [ebp - 0x46c], xmm0
movzx eax, byte [ebp - 1]
movzx ecx, byte [0x1009b033]
movsx edx, word [ebp - 8]
sub ecx, edx
imul eax, ecx
cdq
mov ecx, eax
mov esi, dword [0x1009b160]
sub esi, dword [ebp - 0x46c]
movzx eax, byte [0x1009b01f]
cdq
mov edx, 0xffea8d6f
sub edx, eax
sub esi, edx
add ecx, esi
mov dword [ebp - 0x3c], ecx
jmp 0x10040992
mov eax, dword [ebp - 0x38]
not eax
mov ecx, dword [ebp - 0x34]
not ecx
push 0
push 0x2f
push ecx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
not ecx
not esi
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov ecx, dword [0x1009b154]
add eax, dword [0x1009b150]
adc edx, ecx
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov edx, dword [ebp - 0x474]
or edx, dword [ebp - 0x470]
jne 0x10040928
xor eax, eax
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x274], eax
jmp 0x10040933
xorps xmm0, xmm0
movlpd qword [ebp - 0x278], xmm0
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x274]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x1009b148]
sub eax, 0xd141
mov dword [0x1009b144], eax
mov ecx, dword [0x1009b1a0]
add ecx, 1
mov dword [0x1009b1a0], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
push 0
push 0xb0dbbee3
push eax
push edx
call fcn.1006c090
mov byte [0x1009b0a6], al
movzx eax, byte [0x1009b07e]
cdq
add eax, 0xb21a4c5c
mov word [ebp - 0x20], ax
mov dword [ebp - 0x564], 0
push 0x1007e9b4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x1009b184], ax
movzx ecx, word [0x1009b184]
test ecx, ecx
jg 0x100409c4
mov dword [ebp - 0x104], 1
jmp 0x100409ce
mov dword [ebp - 0x104], 0
movzx edx, word [0x1009b184]
cmp edx, 0x1c
jg 0x100409e6
mov dword [ebp - 0x108], 1
jmp 0x100409f0
mov dword [ebp - 0x108], 0
mov eax, dword [ebp - 0x104]
cmp eax, dword [ebp - 0x108]
jg 0x10040cbc
cmp dword [0x1009b148], 0
je 0x10040a9a
movzx eax, byte [0x1009b0ee]
cdq
push 0x13dc7
push 0x9d182344
push edx
push eax
call fcn.1006c090
movsx ecx, byte [ebp - 4]
movzx esi, word [0x1009b184]
sub esi, dword [0x1009b18c]
sub ecx, esi
xor esi, esi
xor eax, ecx
xor edx, esi
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx edx, byte [ebp - 1]
movzx eax, byte [ebp - 2]
add edx, eax
movzx ecx, byte [ebp - 1]
imul ecx, edx
mov byte [ebp - 1], cl
mov dword [0x1009b148], 0xa02c8b79
mov ecx, dword [0x1009b138]
xor ecx, 0xd121
mov esi, dword [0x1009b13c]
xor esi, 0
movzx eax, byte [0x1009b0ef]
cdq
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov byte [0x1009b0ef], al
jmp 0x10040cb7
movsx eax, byte [0x1009b0ba]
cdq
mov dword [ebp - 0x47c], eax
mov dword [ebp - 0x478], edx
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x478]
jg 0x10040ada
jl 0x10040ac6
mov eax, dword [ebp - 0x60]
cmp eax, dword [ebp - 0x47c]
ja 0x10040ada
xor ecx, ecx
mov dword [ebp - 0x288], 1
mov dword [ebp - 0x284], ecx
jmp 0x10040ae5
xorps xmm0, xmm0
movlpd qword [ebp - 0x288], xmm0
cmp dword [ebp - 0x48], 0
jne 0x10040aff
xor edx, edx
mov dword [ebp - 0x280], 1
mov dword [ebp - 0x27c], edx
jmp 0x10040b0a
xorps xmm0, xmm0
movlpd qword [ebp - 0x280], xmm0
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
sub eax, dword [ebp - 0x280]
sbb ecx, dword [ebp - 0x27c]
and eax, dword [ebp - 0x288]
and ecx, dword [ebp - 0x284]
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x484]
or edx, dword [ebp - 0x480]
jne 0x10040b7b
movzx eax, byte [ebp - 2]
imul eax, eax, 0x1a
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx ecx, byte [0x1009b0ba]
imul edx, ecx, 0xde
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 2]
movsx ecx, word [0x1009b180]
imul eax, ecx
mov byte [ebp - 2], al
jmp 0x10040cb7
movsx edx, word [ebp - 0xc]
test edx, edx
je 0x10040bd5
movzx eax, byte [0x1009b01f]
imul ecx, eax, 0xe000301f
xor edx, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x1009b150]
mov ecx, dword [0x1009b154]
push 0x8e5c8
push 0x5ac8596f
push ecx
push eax
call fcn.1006c090
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx edx, byte [ebp - 3]
imul edx, dword [0x1009b170]
mov dword [0x1009b170], edx
jmp 0x10040cb7
mov eax, 0xc033b3b
or eax, 0xa986d
je 0x10040cb7
movzx eax, word [ebp - 0x20]
movzx ecx, byte [ebp - 3]
sub eax, ecx
cdq
mov ecx, eax
movzx eax, word [ebp - 0x30]
cdq
add eax, dword [0x1009b138]
sub ecx, eax
mov byte [ebp - 2], cl
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x10040c1e
xor eax, eax
mov dword [ebp - 0x48c], 1
mov dword [ebp - 0x488], eax
jmp 0x10040c29
xorps xmm0, xmm0
movlpd qword [ebp - 0x48c], xmm0
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x568], edx
sub ecx, dword [ebp - 0x48c]
movsx eax, byte [0x1009b0bb]
mov edx, dword [0x1009b140]
imul eax, edx
cdq
xor ecx, eax
mov dword [0x1009b144], ecx
mov eax, 2
imul ecx, eax, 0x2e
movzx eax, word [ecx + 0x101c0b48]
cdq
push edx
push eax
mov edx, dword [0x1009b164]
push edx
mov eax, dword [0x1009b160]
push eax
call fcn.1006c090
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
imul ecx, dword [0x1009b1a0], 0xc1
mov dword [0x1009b1a0], ecx
movzx edx, word [ebp - 0x14]
add edx, 0x7172
mov dword [0x1009b190], edx
movzx eax, byte [ebp - 2]
imul ecx, eax, 0x344c8fef
mov word [ebp - 0xc], cx
jmp 0x10040d65
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
je 0x10040d65
mov eax, dword [0x1009b160]
add eax, 1
mov ecx, dword [0x1009b164]
adc ecx, 0
mov dword [0x1009b160], eax
mov dword [0x1009b164], ecx
movzx eax, byte [0x1009b0ee]
cdq
push 0x9f29e
push 0xad6909bb
push edx
push eax
call fcn.1006c090
mov word [0x1009b158], ax
movsx edx, word [ebp - 0x28]
add edx, dword [ebp - 0x58]
movsx eax, word [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x58], edx
movzx ecx, byte [ebp - 2]
add ecx, dword [0x1009b170]
movzx edx, byte [ebp - 2]
add edx, ecx
mov byte [ebp - 2], dl
mov eax, 1
imul ecx, eax, 0x1c
mov dl, byte [ebp - 0xc]
mov byte [ecx + 0x1034cfc8], dl
cmp dword [0x1009b170], 0
jne 0x10040d4c
mov dword [ebp - 0x10c], 1
jmp 0x10040d56
mov dword [ebp - 0x10c], 0
mov eax, dword [0x1009b144]
add eax, dword [ebp - 0x10c]
mov word [ebp - 0x10], ax
mov dword [ebp - 0x56c], 0
xor ecx, ecx
mov dword [0x1009b160], 4
mov dword [0x1009b164], ecx
movzx eax, byte [ebp - 3]
cdq
xor eax, 0x2cef3170
mov byte [0x1009b07f], al
movzx edx, word [ebp - 0x14]
movzx eax, byte [ebp - 3]
imul edx, eax
test edx, edx
jne 0x10040db3
xor ecx, ecx
mov dword [ebp - 0x290], 1
mov dword [ebp - 0x28c], ecx
jmp 0x10040dbe
xorps xmm0, xmm0
movlpd qword [ebp - 0x290], xmm0
mov edx, dword [ebp - 0x290]
mov eax, dword [ebp - 0x28c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x4c], ecx
mov edx, dword [0x1009b18c]
sub edx, 0xc4fabee
mov dword [0x1009b1b0], edx
movsx eax, word [ebp - 8]
add eax, dword [ebp - 0x48]
mov word [ebp - 8], ax
movsx ecx, word [0x1009b180]
movsx edx, word [ebp - 0xc]
xor edx, dword [0x1009b18c]
add ecx, edx
jne 0x10040e1f
xor eax, eax
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x294], eax
jmp 0x10040e2a
xorps xmm0, xmm0
movlpd qword [ebp - 0x298], xmm0
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov eax, dword [ebp - 0x294]
push eax
mov eax, dword [ebp - 0x298]
push eax
push edx
push ecx
call fcn.1006c090
mov dword [0x1009b14c], eax
mov ecx, dword [0x1009b160]
mov edx, dword [0x1009b164]
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 0
ja 0x10041111
jb 0x10040e84
cmp dword [ebp - 0x2a0], 4
ja 0x10041111
mov eax, dword [ebp - 0x2a0]
mov dword [ebp - 0x5fc], eax
mov ecx, dword [ebp - 0x5fc]
jmp dword [ecx*4 + 0x10044ee0]
mov dword [ebp - 0x570], 0
cmp dword [0x1009b14c], 0
jne 0x1004112a
mov byte [ebp - 0x62], 1
jmp 0x1004112e
mov byte [ebp - 0x62], 0
mov al, byte [ebp - 0x62]
mov byte [0x1009b01f], al
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
push 0
push 0x35
push edx
push ecx
call fcn.1006c090
mov word [ebp - 0x1c], ax
movzx eax, word [0x1009b158]
imul ecx, eax, 0x6466767b
mov word [ebp - 0x18], cx
movzx eax, byte [0x1009b07e]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
movzx eax, byte [ebp - 2]
sub eax, 0xf6a1
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [0x1009b1b0], 0x8cb
movsx eax, word [ebp - 8]
cdq
mov ecx, eax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x574], eax
sub ecx, edx
movsx eax, word [ebp - 8]
cdq
sub eax, ecx
mov word [ebp - 8], ax
movsx ecx, word [ebp - 0x1c]
sub ecx, 0xab
mov byte [0x1009b0ee], cl
movzx edx, word [0x1009b158]
imul eax, edx, 0x30
cdq
mov dword [0x1009b168], eax
mov dword [0x1009b16c], edx
mov al, byte [0x1009b0ba]
mov ecx, 1
imul edx, ecx, 0x36
mov byte [edx + 0x101c09f0], al
movzx eax, byte [0x1009b01f]
movsx ecx, byte [0x1009b0a7]
sub eax, ecx
movzx edx, byte [0x1009b01f]
imul edx, eax
mov byte [0x1009b01f], dl
movzx eax, byte [ebp - 1]
test eax, eax
jne 0x10041235
xor ecx, ecx
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], ecx
jmp 0x10041240
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
movsx edx, byte [ebp - 4]
test edx, edx
jne 0x1004125c
xor eax, eax
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], eax
jmp 0x10041267
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov ecx, dword [ebp - 0x2a8]
sub ecx, dword [0x1009b178]
mov edx, dword [ebp - 0x2a4]
sbb edx, dword [0x1009b17c]
mov eax, dword [ebp - 0x2b0]
sub eax, dword [ebp - 0x54]
mov esi, dword [ebp - 0x2ac]
sbb esi, dword [ebp - 0x50]
not eax
not esi
sub ecx, eax
sbb edx, esi
mov dword [ebp - 0x4a4], ecx
mov dword [ebp - 0x4a0], edx
mov ecx, dword [ebp - 0x4a4]
or ecx, dword [ebp - 0x4a0]
jne 0x100412c7
xor edx, edx
mov dword [ebp - 0x4ac], 1
mov dword [ebp - 0x4a8], edx
jmp 0x100412d2
xorps xmm0, xmm0
movlpd qword [ebp - 0x4ac], xmm0
mov eax, dword [0x1009b160]
sub eax, dword [ebp - 0x38]
mov ecx, dword [0x1009b164]
sbb ecx, dword [ebp - 0x34]
not eax
not ecx
movsx edx, byte [0x1009b0ba]
add edx, dword [0x1009b1b0]
xor esi, esi
push esi
push edx
push ecx
push eax
call fcn.1006c090
xor eax, dword [ebp - 0x4ac]
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0x3c]
sub eax, 0x3674c04a
mov word [ebp - 8], ax
cmp dword [ebp - 0x3c], 0
je 0x10041382
movsx ecx, word [ebp - 0xc]
add ecx, 0x3b
mov word [0x1009b184], cx
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, eax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x578], eax
add ecx, edx
mov eax, dword [ebp - 0x4c]
cdq
or eax, ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x60]
not ecx
mov esi, dword [ebp - 0x5c]
not esi
mov eax, dword [ebp - 0x4c]
cdq
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b144]
xor eax, eax
push eax
push edx
push esi
push ecx
call fcn.1006c090
sub eax, dword [0x1009b138]
sbb edx, dword [0x1009b13c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x100413f0
movzx ecx, byte [0x1009b0a6]
movsx edx, word [0x1009b180]
cmp ecx, edx
jne 0x100413a0
mov dword [ebp - 0x11c], 1
jmp 0x100413aa
mov dword [ebp - 0x11c], 0
movzx eax, byte [0x1009b033]
cmp eax, dword [ebp - 0x11c]
jle 0x100413f0
movzx ecx, word [ebp - 0x14]
imul ecx, dword [0x1009b148]
movzx edx, word [ebp - 0x14]
or edx, ecx
mov word [ebp - 0x14], dx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov edx, 8
shl edx, 1
mov dword [edx + 0x102592e0], eax
mov dword [edx + 0x102592e4], ecx
mov eax, dword [0x1009b144]
mov dword [0x1009b144], eax
mov ecx, 1
mov word [ebp - 0x24], cx
mov edx, dword [0x1009b170]
sub edx, 0x730daf33
movzx eax, byte [0x1009b033]
and eax, edx
mov byte [0x1009b033], al
mov cx, word [ebp - 0x18]
mov edx, 1
imul eax, edx, 0x43
mov byte [eax + 0x101c09f0], cl
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x57c], edx
xor ecx, 0x38
mov word [ebp - 0x18], cx
mov al, byte [0x1009bc7c]
mov byte [ebp - 4], al
movzx ecx, byte [0x1009b0ee]
test ecx, ecx
jne 0x1004145d
mov dword [ebp - 0x120], 1
jmp 0x10041467
mov dword [ebp - 0x120], 0
movzx edx, byte [0x1009b07f]
not edx
movzx eax, byte [0x1009b033]
not eax
xor edx, eax
mov ecx, dword [0x1009b1a0]
add ecx, dword [ebp - 0x120]
imul edx, ecx
mov word [ebp - 0x30], dx
mov edx, dword [0x1009b144]
add edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x124], eax
cmp dword [ebp - 0x124], 0
je 0x100414bb
cmp dword [ebp - 0x124], 1
je 0x1004151b
jmp 0x10041563
mov cx, word [ebp - 0x54]
mov word [ebp - 0x1c], cx
movzx edx, byte [0x1009b01f]
add edx, 0x1e
mov word [0x1009b180], dx
movzx eax, byte [ebp - 1]
sub eax, dword [0x1009b1a0]
mov word [ebp - 8], ax
mov ecx, 2
imul edx, ecx, 0xbbe
mov ax, word [edx + 0x10259530]
mov word [0x1009b158], ax
movsx ecx, byte [0x1009b0ba]
movzx edx, word [ebp - 0x18]
not edx
movzx eax, word [ebp - 0x30]
imul edx, eax
xor ecx, edx
not ecx
mov word [0x1009b158], cx
jmp 0x10041563
mov byte [0x1009b0ba], 0x84
mov ecx, 2
imul edx, ecx, 0x2f
movzx eax, word [edx + 0x101c0b48]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [ebp - 0x18]
movsx eax, word [ebp - 0x1c]
sub edx, eax
movzx ecx, word [ebp - 0x18]
sub ecx, edx
mov word [ebp - 0x18], cx
movzx edx, byte [ebp - 1]
movzx eax, byte [0x1009b0a6]
sub edx, eax
movzx ecx, byte [ebp - 1]
add ecx, edx
mov byte [ebp - 1], cl
xor edx, edx
mov byte [ebp - 0x67], dl
lea ecx, [ebp - 0x67]
call fcn.10002cb0
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
movzx ecx, byte [eax + 0x13]
test ecx, ecx
je 0x1004159c
push 0x1010101
push 0x1d093951
push 0
push 0x13
mov edx, dword [ebp - 0x70]
push edx
call fcn.1003f720
mov eax, dword [ebp - 0x70]
mov byte [eax + 0x13], 0
push 0
push 0
push 0
push 0
mov ecx, dword [ebp - 0x70]
push ecx
push 0
push 0
call fcn.10001590
call eax
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
jne 0x100426a4
movsx edx, word [ebp - 0x10]
movsx eax, byte [0x1009b0bb]
sub edx, eax
mov dword [0x1009b1b0], edx
movzx ecx, byte [ebp - 2]
movzx edx, byte [ebp - 3]
add ecx, edx
mov byte [ebp - 2], cl
mov eax, 1
imul ecx, eax, 0x69
movzx dx, byte [ecx + 0x101c09f0]
mov word [ebp - 0x30], dx
mov ax, word [ebp - 0xc]
add ax, 1
mov word [ebp - 0xc], ax
mov ecx, 8
imul edx, ecx, 0x589c
mov eax, dword [edx + 0x10317600]
mov dword [0x1009b170], eax
mov cl, byte [0x1009bc7c]
mov byte [ebp - 2], cl
movsx eax, word [ebp - 8]
add eax, 0xc36e
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movsx edx, word [ebp - 0xc]
movsx eax, byte [ebp - 4]
add edx, eax
movsx ecx, word [ebp - 0xc]
imul ecx, edx
mov word [ebp - 0xc], cx
push 0x4b8e7
push 0xe69317fe
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.1006c090
mov byte [0x1009b07e], al
mov cx, word [0x1009bc7c]
mov word [ebp - 8], cx
movzx edx, byte [0x1009b0a6]
sub edx, 0x81
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
and edx, ecx
and eax, esi
mov dword [0x1009b198], edx
mov dword [0x1009b19c], eax
mov ecx, dword [0x1009bc7c]
mov dword [ebp - 0x9c], ecx
movsx edx, word [0x1009b180]
sub edx, dword [0x1009b140]
movzx eax, word [ebp - 0x18]
not eax
mov ecx, dword [0x1009b190]
sub ecx, eax
xor edx, ecx
xor eax, eax
movzx ecx, byte [0x1009b0ee]
mov esi, dword [ebp - 0x48]
not esi
add ecx, esi
xor esi, esi
add ecx, dword [ebp - 0x38]
adc esi, dword [ebp - 0x34]
push esi
push ecx
push eax
push edx
call fcn.1006c090
mov word [0x1009b184], ax
imul edx, dword [ebp - 0x4c], 0x5cce
movzx eax, byte [0x1009b01f]
imul eax, edx
mov byte [0x1009b01f], al
movsx ecx, byte [0x1009b0ba]
movzx edx, byte [0x1009b01f]
mov eax, dword [0x1009b18c]
sub eax, edx
imul ecx, eax
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov ecx, dword [0x1009b198]
mov edx, dword [0x1009b19c]
mov dword [ebp - 0x580], edx
sub ecx, 0xb722643e
movsx eax, byte [0x1009b0a7]
cdq
add eax, ecx
mov byte [0x1009b0a7], al
mov eax, dword [ebp - 0x9c]
add eax, 0x250
mov dword [ebp - 0xa4], eax
movsx ecx, word [ebp - 8]
imul edx, ecx, 0xdf
mov eax, dword [ebp - 0x58]
sub eax, edx
mov dword [ebp - 0x58], eax
mov ecx, dword [0x1009b190]
xor edx, edx
push 0xfa316
push 0x9f2cd248
push edx
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b148]
add ecx, eax
mov dword [0x1009b148], ecx
movzx edx, word [ebp - 0x20]
xor edx, 0x91
mov byte [ebp - 3], dl
mov ax, word [0x1009b138]
mov word [ebp - 0x30], ax
imul ecx, dword [ebp - 0x48], 0xf97f
mov dword [0x1009b170], ecx
mov edx, dword [ebp - 0x9c]
add edx, 0x92
mov dword [ebp - 0x418], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [0x1009b168], eax
mov dword [0x1009b16c], ecx
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 1]
cdq
sub eax, 0x1cf55e2c
sbb edx, 0x10ddc
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x4b0], esi
mov edx, dword [ebp - 0x4b4]
or edx, dword [ebp - 0x4b0]
jne 0x1004182a
mov byte [ebp - 0x63], 1
jmp 0x1004182e
mov byte [ebp - 0x63], 0
mov al, byte [ebp - 0x63]
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
jne 0x10041850
xor edx, edx
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], edx
jmp 0x1004185b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b8], xmm0
cmp dword [ebp - 0x3c], 0
jne 0x10041875
xor eax, eax
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2bc], eax
jmp 0x10041880
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c0], xmm0
movzx eax, byte [0x1009b07e]
cdq
mov ecx, dword [0x1009b16c]
add eax, dword [0x1009b168]
adc edx, ecx
mov ecx, dword [ebp - 0x2b4]
push ecx
mov ecx, dword [ebp - 0x2b8]
push ecx
push edx
push eax
call fcn.1006c090
mov esi, eax
movzx eax, word [0x1009b184]
cdq
mov edi, eax
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
mov dword [ebp - 0x584], eax
not edx
and edi, edx
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x2c0]
push edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
call fcn.1006c090
add edi, eax
sub esi, edi
mov dword [0x1009b148], esi
mov edx, dword [ebp - 0x9c]
add edx, 0x2ba
mov dword [ebp - 0x74], edx
mov dword [ebp - 0xa0], 0
jmp 0x1004191b
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x81
jge 0x10041975
movsx eax, byte [ebp - 4]
cdq
sub eax, 0x6684a75b
mov word [ebp - 0x10], ax
mov cx, word [0x1009bc7c]
mov word [ebp - 8], cx
movzx edx, byte [0x1009b0a6]
movzx eax, byte [ebp - 3]
add edx, eax
mov byte [0x1009b0a6], dl
movzx ecx, byte [ebp - 3]
shl ecx, 4
mov word [ebp - 0x10], cx
mov edx, 8
mov word [ebp - 0x10], dx
mov ax, word [ebp - 8]
add ax, 1
mov word [ebp - 8], ax
jmp 0x1004190c
mov ecx, dword [ebp - 0xa4]
sub ecx, dword [ebp - 0xa4]
mov edx, dword [ebp - 0xa4]
imul edx, dword [ebp - 0x74]
imul ecx, edx
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x74]
imul edx, dword [ebp - 0x418]
imul eax, edx
cmp ecx, eax
jne 0x100426a4
mov dword [ebp - 0xac], 0x4b
mov ax, word [0x1009b138]
mov ecx, 2
imul edx, ecx, 0x35
mov word [edx + 0x101c0b48], ax
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x588], ecx
sub eax, 0xfaeef2b0
mov byte [0x1009b0bb], al
movsx eax, word [ebp - 0x1c]
cdq
add eax, dword [ebp - 0x44]
mov word [ebp - 0x1c], ax
mov dword [ebp - 0xa8], 0
jmp 0x10041a0a
mov edx, dword [ebp - 0xa8]
add edx, 2
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0x223
jge 0x10041b13
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov dword [ebp - 0x4c], eax
mov dword [0x1009b170], 0x6281
cmp dword [0x1009b14c], 0
je 0x10041a42
movsx ecx, word [ebp - 8]
mov dword [ebp - 0x128], ecx
jmp 0x10041a4f
movzx edx, word [0x1009b184]
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x128]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, word [ebp - 0x28]
test eax, eax
jne 0x10041a70
mov dword [ebp - 0x12c], 1
jmp 0x10041a7a
mov dword [ebp - 0x12c], 0
movzx ecx, word [ebp - 0x14]
test ecx, ecx
jne 0x10041a8e
mov dword [ebp - 0x130], 1
jmp 0x10041a98
mov dword [ebp - 0x130], 0
movzx eax, word [ebp - 0x20]
mov edx, dword [ebp - 0x12c]
imul edx, dword [ebp - 0x130]
add eax, edx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [0x1009b160]
or eax, dword [0x1009b164]
jne 0x10041acb
mov dword [ebp - 0x134], 1
jmp 0x10041ad5
mov dword [ebp - 0x134], 0
movsx ecx, byte [0x1009b0ba]
xor ecx, dword [ebp - 0x134]
mov word [ebp - 0x30], cx
mov edx, dword [0x1009b138]
sub edx, 0x87
mov eax, dword [0x1009b13c]
sbb eax, 0
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
mov cl, byte [ebp - 2]
add cl, 1
mov byte [ebp - 2], cl
jmp 0x100419fb
mov edx, dword [ebp - 0xac]
add edx, 1
mov dword [ebp - 0xac], edx
cmp dword [ebp - 0xac], 0x3f8
jl 0x100419ef
xor eax, eax
mov dword [0x1009b138], 0x3e6d9284
mov dword [0x1009b13c], eax
movzx eax, word [0x1009b184]
cdq
mov dword [ebp - 0x4bc], eax
mov dword [ebp - 0x4b8], edx
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x4b8]
jg 0x10041ba8
jl 0x10041b6f
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x4bc]
ja 0x10041ba8
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
je 0x10041ba8
mov dword [ebp - 0x41c], 1
mov eax, dword [ebp - 0x41c]
push eax
mov ecx, dword [ebp - 0x138]
push ecx
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [ebp - 0x58c], eax
movsx eax, word [ebp - 8]
add eax, 1
cdq
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], edx
mov edx, dword [0x1009b138]
cmp edx, dword [ebp - 0x4c4]
jne 0x10041fe3
mov eax, dword [0x1009b13c]
cmp eax, dword [ebp - 0x4c0]
jne 0x10041fe3
mov cx, word [ebp - 0x10]
add cx, 1
mov word [ebp - 0x10], cx
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0xd904
cdq
push edx
push eax
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.1006c090
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov dword [0x1009b190], 1
mov edx, dword [ebp - 0x58]
imul edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x48], 3
mov eax, dword [0x1009bc7c]
mov dword [0x1009b190], eax
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 3
call fcn.1006c0f0
mov dword [0x1009b144], eax
movsx ecx, byte [0x1009b0bb]
mov eax, dword [ebp - 0x2c]
sub eax, ecx
add eax, 0xdb
cdq
mov ebx, eax
mov edx, dword [ebp - 0x3c]
xor eax, eax
push 0x8e537
push 0xd35c7d7a
push eax
push edx
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x10]
cdq
mov edx, dword [ebp - 0x44]
not edx
add eax, edx
sub ecx, eax
add ebx, ecx
mov byte [ebp - 1], bl
movzx eax, byte [0x1009b0ef]
cdq
push 0x3447
push 0xfc91bdb2
push edx
push eax
call fcn.1006c090
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x13c], eax
cmp dword [ebp - 0x13c], 3
ja case.default.0x10041cba
mov ecx, dword [ebp - 0x13c]
jmp dword [ecx*4 + 0x10044ef4]
movsx edx, word [ebp - 0xc]
sar edx, 7
mov dword [0x1009b1a0], edx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
add ecx, dword [ebp - 0x44]
adc eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
movsx ecx, word [ebp - 0x28]
imul edx, ecx, 0xf6a3dae0
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0x5d676518
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov dword [ebp - 0x3c], ecx
movsx edx, word [ebp - 0x1c]
imul eax, edx, 0x9dd5e2bc
mov byte [0x1009b033], al
jmp case.default.0x10041cba
movzx eax, byte [ebp - 2]
cdq
add eax, dword [0x1009b178]
adc edx, dword [0x1009b17c]
mov dword [ebp - 0x4cc], eax
mov dword [ebp - 0x4c8], edx
mov ecx, dword [ebp - 0x4cc]
or ecx, dword [ebp - 0x4c8]
jne 0x10041d5b
mov dword [ebp - 0x140], 1
jmp 0x10041d65
mov dword [ebp - 0x140], 0
movzx eax, byte [0x1009b0ef]
xor eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x140]
not eax
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x4c]
cdq
mov edi, eax
mov ebx, edx
movzx eax, word [0x1009b158]
cdq
mov dword [ebp - 0x2e0], ecx
mov ecx, dword [0x1009b168]
mov dword [ebp - 0x2dc], esi
mov esi, dword [0x1009b16c]
sub ecx, eax
sbb esi, edx
xor edi, ecx
xor ebx, esi
push ebx
push edi
mov ecx, dword [ebp - 0x2dc]
push ecx
mov ecx, dword [ebp - 0x2e0]
push ecx
call fcn.1006c090
mov dword [0x1009b188], eax
push 0x78c4b
push 0x559aa03c
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx ecx, byte [0x1009b0a6]
add ecx, 0x24
movzx edx, word [0x1009b158]
sub edx, ecx
mov word [0x1009b158], dx
push 0
push 0x7c581f3c
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov dword [0x1009b1b0], eax
mov dx, word [ebp - 0x10]
mov eax, 2
imul ecx, eax, 0xe
mov word [ecx + 0x10223758], dx
jmp case.default.0x10041cba
movsx edx, word [0x1009b180]
imul eax, edx, 0
not eax
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov byte [0x1009b07f], 0x3b
movzx eax, word [ebp - 0x20]
imul eax, dword [ebp - 0x48]
mov word [ebp - 0x20], ax
movzx ecx, word [0x1009b158]
sub ecx, dword [ebp - 0x3c]
movsx edx, word [ebp - 8]
add ecx, edx
not ecx
mov word [0x1009b158], cx
mov eax, dword [0x1009b130]
mov ecx, dword [0x1009b134]
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x4d4]
or edx, dword [ebp - 0x4d0]
je 0x10041ea1
mov al, byte [0x1009b01f]
mov byte [ebp - 0x66], al
jmp 0x10041ea7
mov cl, byte [ebp - 1]
mov byte [ebp - 0x66], cl
mov dl, byte [ebp - 0x66]
mov byte [0x1009b07f], dl
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b1a0]
xor esi, esi
or ecx, dword [ebp - 0x54]
or esi, dword [ebp - 0x50]
sub eax, ecx
sbb edx, esi
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
jmp case.default.0x10041cba
movzx edx, word [ebp - 0x20]
imul eax, edx, 0x7d
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [0x1009b138]
sub eax, 0x518fd97b
mov word [ebp - 0x20], ax
movzx ecx, byte [0x1009b07e]
add ecx, 0x40cec4df
mov byte [ebp - 2], cl
mov dl, byte [0x1009bc7c]
mov byte [ebp - 2], dl
cmp dword [0x1009b1a0], 1
jne 0x10041fe3
mov eax, dword [ebp - 0x48]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov dword [0x1009b148], eax
jmp 0x10041fe3
xor ecx, ecx
mov dword [0x1009b138], 0x3e6d9284
mov dword [0x1009b13c], ecx
mov edx, dword [ebp - 0x44]
add edx, 1
mov eax, dword [ebp - 0x40]
adc eax, 0
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movzx ecx, byte [0x1009b07f]
movzx edx, word [ebp - 0x20]
imul ecx, edx
movzx eax, byte [0x1009b07f]
imul eax, ecx
mov byte [0x1009b07f], al
movzx ecx, byte [0x1009b07f]
imul edx, ecx, 0xb0
mov word [0x1009b184], dx
movsx eax, byte [ebp - 4]
imul eax, dword [0x1009b170]
imul eax, dword [0x1009b170]
mov dword [0x1009b170], eax
mov cl, byte [ebp - 0x14]
mov byte [0x1009b0a6], cl
xor edx, edx
mov dword [0x1009b138], 0xe95ba1aa
mov dword [0x1009b13c], edx
mov eax, dword [ebp - 0x38]
sub eax, 0x1c4d
mov ecx, dword [ebp - 0x34]
sbb ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
mov dword [0x1009b198], ecx
mov dword [0x1009b19c], esi
movzx edx, word [ebp - 0x18]
sub edx, 0x7d
mov word [ebp - 8], dx
movsx eax, word [ebp - 8]
add eax, 1
cdq
mov dword [ebp - 0x4dc], eax
mov dword [ebp - 0x4d8], edx
mov eax, dword [0x1009b138]
cmp eax, dword [ebp - 0x4dc]
jne 0x10042237
mov ecx, dword [0x1009b13c]
cmp ecx, dword [ebp - 0x4d8]
jne 0x10042237
mov edx, dword [str.Display_NGC_page.]
mov dword [ebp - 0x528], edx
mov eax, dword [0x1007e9cc]
mov dword [ebp - 0x524], eax
mov ecx, dword [0x1007e9d0]
mov dword [ebp - 0x520], ecx
mov edx, dword [0x1007e9d4]
mov dword [ebp - 0x51c], edx
mov ax, word [0x1007e9d8]
mov word [ebp - 0x518], ax
lea ecx, [ebp - 0x528]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1009b160], eax
mov dword [0x1009b164], edx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x4e4], edx
mov dword [ebp - 0x4e0], eax
cmp dword [ebp - 0x4e4], 1
jne 0x10042237
cmp dword [ebp - 0x4e0], 0
jne 0x10042237
mov ecx, dword [str.PrtReceivedtime]
mov dword [ebp - 0x550], ecx
mov edx, dword [0x1007e9e0]
mov dword [ebp - 0x54c], edx
mov eax, dword [0x1007e9e4]
mov dword [ebp - 0x548], eax
mov ecx, dword [0x1007e9e8]
mov dword [ebp - 0x544], ecx
lea edx, [ebp - 0x550]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
jmp 0x10042237
xor ecx, ecx
mov dword [0x1009b138], 0xe95ba1aa
mov dword [0x1009b13c], ecx
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov cl, 4
call fcn.1006c0f0
mov byte [0x1009b0bb], al
mov dx, word [ebp - 0x44]
mov word [ebp - 0x18], dx
movzx eax, word [0x1009b158]
test eax, eax
jne 0x1004227a
mov dword [ebp - 0x144], 1
jmp 0x10042284
mov dword [ebp - 0x144], 0
movzx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x10042298
mov dword [ebp - 0x148], 1
jmp 0x100422a2
mov dword [ebp - 0x148], 0
movsx edx, word [ebp - 0x1c]
movzx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x144]
add edx, dword [ebp - 0x148]
add eax, edx
mov dword [0x1009b140], eax
push 0
push 2
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov ecx, eax
movzx eax, word [ebp - 0x14]
cdq
add ecx, eax
mov byte [0x1009b0bb], cl
movsx edx, byte [0x1009b0ba]
movzx eax, byte [0x1009b0ef]
sub edx, eax
mov dword [0x1009b14c], edx
mov ecx, dword [0x1009b18c]
xor edx, edx
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4e8]
cmp eax, dword [ebp - 0x5c]
jl 0x100424f6
jg 0x1004232d
mov ecx, dword [ebp - 0x4ec]
cmp ecx, dword [ebp - 0x60]
jb 0x100424f6
mov edx, dword [0x1009b148]
xor eax, eax
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x2fc], eax
mov ecx, dword [ebp - 0x2fc]
cmp ecx, dword [ebp - 0x5c]
jg 0x10042365
jl 0x10042359
mov edx, dword [ebp - 0x300]
cmp edx, dword [ebp - 0x60]
ja 0x10042365
mov dword [ebp - 0x14c], 1
jmp 0x1004236f
mov dword [ebp - 0x14c], 0
cmp dword [0x1009b148], 0xf
ja 0x10042384
mov dword [ebp - 0x150], 1
jmp 0x1004238e
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x150]
jne 0x1004247c
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
sub ecx, dword [0x1009b138]
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
movzx edx, word [0x1009b184]
imul edx, dword [ebp - 0x3c]
movzx eax, word [0x1009b184]
xor eax, edx
mov word [0x1009b184], ax
mov eax, dword [0x1009b140]
cdq
sub eax, 0x865a8c1f
mov byte [0x1009b033], al
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x100423f6
mov dword [ebp - 0x154], 1
jmp 0x10042400
mov dword [ebp - 0x154], 0
movzx edx, word [ebp - 0x18]
movsx eax, byte [0x1009b0ba]
add edx, eax
mov ecx, dword [0x1009b170]
not ecx
mov eax, dword [ebp - 0x154]
sub eax, ecx
xor edx, eax
mov esi, edx
mov ecx, dword [0x1009b130]
mov edi, dword [0x1009b134]
sub ecx, 0xf0f8
sbb edi, 0
movzx eax, word [ebp - 0x18]
cdq
push edx
push eax
push edi
push ecx
call fcn.1006c090
add esi, eax
mov word [ebp - 0xc], si
movsx edx, word [ebp - 0x10]
imul eax, edx, 0xd032cbc
mov ecx, dword [0x1009b190]
or ecx, eax
mov dword [0x1009b190], ecx
movsx edx, word [ebp - 0x1c]
imul edx, dword [0x1009b148]
xor eax, eax
mov dword [0x1009b168], edx
mov dword [0x1009b16c], eax
jmp 0x100424f1
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov edx, 8
imul eax, edx, 0x53c0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [eax + 0x101c0cd0], ecx
mov dword [eax + 0x101c0cd4], edx
mov eax, 0x3c3e
mov word [ebp - 0x10], ax
movzx ecx, byte [0x1009b033]
imul eax, ecx, 0x385baeee
cdq
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx eax, word [ebp - 0x10]
sub eax, 0x73ca892d
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x1004269d
movzx edx, byte [0x1009b0ee]
not edx
test edx, edx
je 0x10042614
imul eax, dword [ebp - 0x48], 0x87cd
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 8]
cdq
mov ecx, dword [0x1009b134]
sub eax, dword [0x1009b130]
sbb edx, ecx
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov edx, dword [ebp - 0x308]
or edx, dword [ebp - 0x304]
jne 0x10042553
xor eax, eax
mov dword [ebp - 0x2c8], 1
mov dword [ebp - 0x2c4], eax
jmp 0x1004255e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c8], xmm0
movzx eax, byte [0x1009b07e]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add ecx, eax
adc esi, edx
movzx edx, byte [0x1009b01f]
sub edx, dword [0x1009b1a0]
not edx
xor eax, eax
add ecx, edx
adc esi, eax
add ecx, dword [ebp - 0x2c8]
adc esi, dword [ebp - 0x2c4]
mov dword [0x1009b160], ecx
mov dword [0x1009b164], esi
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
mov dword [ebp - 0x590], edx
sub ecx, eax
movsx eax, word [ebp - 0xc]
cdq
xor ecx, eax
mov byte [0x1009b0ba], cl
mov ax, word [ebp - 0x10]
mov word [0x1009b180], ax
mov ecx, dword [0x1009bc7c]
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x100425f7
mov ecx, dword [0x1009b140]
mov dword [ebp - 0x158], ecx
jmp 0x10042604
movsx edx, word [0x1009b180]
mov dword [ebp - 0x158], edx
mov al, byte [ebp - 0x158]
mov byte [0x1009b0ee], al
jmp 0x1004269d
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0x30c]
cmp eax, dword [ebp - 0x50]
jl 0x1004269d
jg 0x1004263d
mov ecx, dword [ebp - 0x310]
cmp ecx, dword [ebp - 0x54]
jbe 0x1004269d
movsx eax, word [ebp - 8]
cdq
add eax, 0xa6e585df
mov edx, dword [ebp - 0x48]
add edx, eax
mov dword [ebp - 0x48], edx
movsx eax, word [ebp - 0x10]
cdq
add eax, dword [0x1009b138]
mov word [ebp - 0x10], ax
movzx eax, word [ebp - 0x24]
imul ecx, eax, 0x268c
mov word [0x1009b180], cx
movzx edx, word [ebp - 0x20]
sub edx, 0xf081
mov byte [0x1009b0bb], dl
movzx eax, word [ebp - 0x14]
sub eax, 0x7054606d
mov byte [0x1009b0bb], al
movsx eax, word [ebp - 0x10]
cdq
add eax, 0x40f97453
mov word [0x1009b180], ax
xor eax, eax
jmp 0x10044ed4
movsx ecx, word [ebp - 0x1c]
cmp ecx, dword [0x1009b1b0]
jb 0x100426d7
mov dl, byte [0x1009b07e]
sub dl, 1
mov byte [0x1009b07e], dl
mov dword [0x1009b1b0], 0x1c
movzx eax, word [ebp - 0x18]
add eax, dword [0x1009b140]
mov word [ebp - 0x18], ax
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
mov ecx, dword [ebp + 0xc]
push ecx
push 0
push 0
call fcn.100014d0
call eax
mov dword [ebp - 0xbc], eax
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x78]
push eax
push 0
push 0
call fcn.10001620
call eax
mov dword [ebp - 0x1d0], eax
movsx eax, byte [0x1009b0bb]
cdq
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], edx
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0x314]
jl 0x10042af2
jg 0x10042756
mov edx, dword [ebp - 0x38]
cmp edx, dword [ebp - 0x318]
jbe 0x10042af2
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
mov eax, dword [0x1009b160]
cmp eax, dword [ebp - 0x320]
jne 0x1004278d
mov ecx, dword [0x1009b164]
cmp ecx, dword [ebp - 0x31c]
jne 0x1004278d
mov dword [ebp - 0x15c], 1
jmp 0x10042797
mov dword [ebp - 0x15c], 0
cmp dword [0x1009b160], 0x13
jne 0x100427b5
cmp dword [0x1009b164], 0
jne 0x100427b5
mov dword [ebp - 0x160], 1
jmp 0x100427bf
mov dword [ebp - 0x160], 0
mov edx, dword [ebp - 0x15c]
cmp edx, dword [ebp - 0x160]
je 0x10042a3e
cmp dword [0x1009b140], 0
je 0x10042a06
movzx eax, byte [ebp - 3]
movzx ecx, byte [0x1009b033]
cmp eax, ecx
je 0x100429c7
movsx eax, word [ebp - 8]
cdq
mov dword [ebp - 0x328], eax
mov dword [ebp - 0x324], edx
mov edx, dword [0x1009b138]
cmp edx, dword [ebp - 0x328]
jne 0x10042829
mov eax, dword [0x1009b13c]
cmp eax, dword [ebp - 0x324]
jne 0x10042829
mov dword [ebp - 0x164], 1
jmp 0x10042833
mov dword [ebp - 0x164], 0
cmp dword [0x1009b138], 0x42
jne 0x10042851
cmp dword [0x1009b13c], 0
jne 0x10042851
mov dword [ebp - 0x168], 1
jmp 0x1004285b
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp - 0x168]
jne 0x100428cd
mov byte [0x1009b0a6], 0x70
mov edx, dword [ebp - 0x58]
mov eax, 1
imul ecx, eax, 0xae
mov byte [ecx + 0x1034cfc8], dl
movzx edx, word [ebp - 0x24]
movzx eax, word [ebp - 0x30]
and edx, eax
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x30]
cdq
add eax, 0x1547be8
mov word [ebp - 0x10], ax
movzx ecx, byte [0x1009b0a6]
mov edx, dword [0x1009b148]
imul edx, ecx
mov eax, dword [0x1009b148]
imul eax, edx
mov dword [0x1009b148], eax
movzx ecx, word [ebp - 0x24]
add ecx, dword [ebp - 0x48]
mov word [ebp - 0x24], cx
jmp 0x100429c5
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x330]
or ecx, dword [ebp - 0x32c]
je 0x100429c5
mov ecx, dword [ebp - 0x60]
sub ecx, 0xd5280c4b
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
movzx edx, byte [ebp - 2]
add edx, dword [0x1009b1a0]
add edx, dword [0x1009b1a0]
mov dword [0x1009b1a0], edx
movzx eax, byte [0x1009b07e]
cdq
xor eax, dword [0x1009b198]
xor edx, dword [0x1009b19c]
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x338]
or eax, dword [ebp - 0x334]
jne 0x10042959
mov dword [ebp - 0x16c], 1
jmp 0x10042963
mov dword [ebp - 0x16c], 0
movsx ecx, word [ebp - 8]
not ecx
mov edx, dword [0x1009b144]
xor edx, ecx
add edx, dword [ebp - 0x16c]
mov byte [0x1009b07e], dl
mov eax, dword [0x1009b140]
sub eax, 0x5219cffd
mov dword [0x1009b1a0], eax
movzx eax, byte [ebp - 1]
cdq
mov ecx, eax
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x594], eax
not edx
sub ecx, edx
movzx eax, word [ebp - 0x14]
cdq
sub ecx, eax
movsx eax, word [ebp - 0x1c]
movzx edx, byte [0x1009b01f]
sub eax, edx
cdq
sub ecx, eax
mov byte [0x1009b0ef], cl
jmp 0x10042a04
cmp dword [0x1009b148], 0
je 0x10042a04
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x40]
sbb eax, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], eax
movsx cx, byte [0x1009b0a7]
mov word [ebp - 0x28], cx
movzx eax, byte [0x1009b033]
cdq
mov dword [0x1009b130], eax
mov dword [0x1009b134], edx
jmp 0x10042a39
movzx edx, word [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub eax, edx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], 0x7c955fbc
mov dword [ebp - 0x48], 0xa3a8851b
movzx ecx, byte [0x1009b07f]
add ecx, dword [ebp - 0x2c]
movzx edx, byte [0x1009b07f]
sub edx, ecx
mov byte [0x1009b07f], dl
jmp 0x10042aed
mov dword [0x1009b190], 0x4b8ae4a0
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x10042a64
xor ecx, ecx
mov dword [ebp - 0x2d0], 1
mov dword [ebp - 0x2cc], ecx
jmp 0x10042a6f
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d0], xmm0
movzx eax, byte [0x1009b033]
movsx edx, byte [0x1009b0bb]
not edx
imul eax, edx
cdq
mov ecx, dword [0x1009b134]
mov esi, dword [ebp - 0x2d0]
sub esi, dword [0x1009b130]
mov edi, dword [ebp - 0x2cc]
sbb edi, ecx
push edi
push esi
push edx
push eax
call fcn.1006c090
mov ecx, eax
mov esi, dword [0x1009b1a0]
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x598], eax
not edx
sub esi, edx
movsx eax, word [ebp - 0xc]
cdq
xor esi, eax
add ecx, esi
mov byte [0x1009b0ba], cl
movsx eax, word [ebp - 8]
cdq
push 0xe96b0
push 0x519051f3
push edx
push eax
call fcn.1006c090
mov dword [0x1009b148], eax
jmp 0x10042b8d
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [ebp - 0x33c]
jg 0x10042b27
jl 0x10042b1b
mov edx, dword [ebp - 0x60]
cmp edx, dword [ebp - 0x340]
ja 0x10042b27
mov dword [ebp - 0x170], 1
jmp 0x10042b31
mov dword [ebp - 0x170], 0
mov eax, dword [ebp - 0x170]
not eax
test eax, eax
je 0x10042b8d
mov ecx, dword [0x1009b148]
sub ecx, 0xa02b
xor edx, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
mov ecx, dword [0x1009b1a0]
xor esi, esi
movzx eax, word [ebp - 0x30]
cdq
xor eax, 0x810d41b9
xor edx, 0x5715
xor ecx, eax
xor esi, edx
mov dword [0x1009b130], ecx
mov dword [0x1009b134], esi
movzx edx, word [ebp - 0x14]
add edx, 0xce
mov word [ebp - 0x18], dx
cmp dword [ebp - 0x1d0], 0
jne 0x10042f32
mov dword [0x1009b1a0], 4
movsx eax, word [ebp - 8]
and eax, 0x1240
movzx ecx, word [ebp - 0x18]
add ecx, eax
mov word [ebp - 0x18], cx
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0x57fbd983
mov word [0x1009b180], ax
mov edx, dword [ebp - 0x54]
sub edx, dword [ebp - 0x44]
not edx
mov word [ebp - 0x20], dx
mov eax, dword [0x1009b1a0]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x174], 4
ja case.default.0x10042bf1
mov ecx, dword [ebp - 0x174]
jmp dword [ecx*4 + 0x10044f04]
movsx edx, byte [0x1009b0a7]
mov eax, dword [0x1009b188]
imul eax, edx
mov ecx, dword [0x1009b188]
xor ecx, eax
mov dword [0x1009b188], ecx
movsx edx, word [0x1009b180]
movzx eax, word [ebp - 0x18]
xor edx, eax
mov word [0x1009b184], dx
movsx ecx, word [ebp - 0x1c]
imul edx, ecx, 0xdfdb
mov word [ebp - 0x28], dx
mov eax, 1
imul ecx, eax, 5
movzx edx, byte [ecx + 0x102f2188]
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x28]
mov ecx, dword [ebp - 0x4c]
lea edx, [eax + ecx - 0x1b2fcf57]
mov word [ebp - 0x28], dx
movzx eax, word [0x1009b158]
sub eax, dword [0x1009b18c]
mov word [0x1009b158], ax
jmp case.default.0x10042bf1
mov ecx, 0x7c
mov word [ebp - 0x24], cx
mov dword [0x1009b148], 8
movzx edx, word [ebp - 0x18]
mov eax, dword [0x1009b144]
add eax, edx
mov ecx, dword [0x1009b144]
add ecx, eax
mov dword [0x1009b144], ecx
jmp case.default.0x10042bf1
movzx eax, word [ebp - 0x14]
cdq
push edx
push eax
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.1006c090
mov ecx, eax
movsx eax, word [ebp - 0x28]
movzx edx, byte [0x1009b07f]
add eax, edx
cdq
xor ecx, eax
mov byte [ebp - 1], cl
movzx eax, word [ebp - 0x20]
cdq
add eax, dword [0x1009b160]
adc edx, dword [0x1009b164]
mov ecx, dword [0x1009b160]
sub ecx, eax
mov eax, dword [0x1009b164]
sbb eax, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], eax
mov ecx, 1
mov word [ebp - 0x20], cx
movzx edx, byte [ebp - 2]
mov eax, dword [ebp - 0x2c]
lea ecx, [edx + eax + 0xda0d]
mov byte [ebp - 2], cl
jmp case.default.0x10042bf1
movsx edx, word [ebp - 8]
imul eax, edx, 0x8468
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
imul eax, dword [0x1009b170], 0x59
mov byte [0x1009b0ef], al
mov ecx, 8
imul ecx, ecx, 0xa
mov eax, dword [0x1009b188]
cdq
mov esi, dword [ecx + 0x101c0bc4]
push esi
mov ecx, dword [ecx + 0x101c0bc0]
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b188], eax
movzx edx, byte [0x1009b0ef]
test edx, edx
jne 0x10042d78
mov dword [ebp - 0x178], 1
jmp 0x10042d82
mov dword [ebp - 0x178], 0
cmp dword [0x1009b1b0], 0
jne 0x10042d97
mov dword [ebp - 0x17c], 1
jmp 0x10042da1
mov dword [ebp - 0x17c], 0
mov eax, dword [0x1009b170]
not eax
mov ecx, dword [ebp - 0x178]
sub ecx, eax
mov edx, dword [0x1009b188]
sub edx, ecx
movzx eax, byte [ebp - 1]
xor eax, 0xb4
sub eax, dword [ebp - 0x17c]
xor edx, eax
mov byte [ebp - 2], dl
movsx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov word [ebp - 0xc], ax
jmp case.default.0x10042bf1
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
xor edx, 0xc5d397b7
xor eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
push 0
push 0x44
mov ecx, dword [0x1009b13c]
push ecx
mov edx, dword [0x1009b138]
push edx
call fcn.1006c090
mov byte [0x1009b0ef], al
movzx eax, byte [0x1009b0ee]
movzx ecx, byte [ebp - 1]
imul eax, ecx
mov byte [0x1009b0ee], al
mov ecx, dword [0x1009b138]
add ecx, 0xbe51
movsx eax, word [ebp - 0x28]
cdq
xor eax, ecx
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0xbc]
push edx
push 0
push 0
call fcn.10001680
call eax
mov eax, dword [ebp - 0x78]
push eax
push 0
push 0
call fcn.10001350
call eax
movzx ecx, word [ebp - 0x20]
movzx edx, byte [0x1009b07f]
add ecx, edx
movzx eax, word [ebp - 0x20]
sub eax, ecx
mov word [ebp - 0x20], ax
mov ecx, dword [0x1009b130]
mov edx, dword [0x1009b134]
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x34c], edx
mov eax, dword [ebp - 0x350]
or eax, dword [ebp - 0x34c]
je 0x10042eba
mov cl, byte [0x1009b07f]
mov byte [ebp - 0x64], cl
jmp 0x10042ec3
mov dl, byte [0x1009b0ef]
mov byte [ebp - 0x64], dl
movzx eax, byte [ebp - 0x64]
mov dword [0x1009b190], eax
movsx ecx, byte [0x1009b0ba]
test ecx, ecx
jne 0x10042ee3
mov dword [ebp - 0x180], 1
jmp 0x10042eed
mov dword [ebp - 0x180], 0
movsx edx, byte [0x1009b0bb]
xor edx, dword [ebp - 0x2c]
movsx eax, byte [0x1009b0bb]
not eax
add edx, eax
movzx ecx, word [ebp - 0x14]
xor ecx, dword [0x1009b190]
mov eax, dword [ebp - 0x180]
and eax, 0x4fa011de
imul ecx, eax
and edx, ecx
mov dword [ebp - 0x4c], edx
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0bb], cl
xor eax, eax
jmp 0x10044ed4
movzx edx, word [ebp - 0x24]
not edx
test edx, edx
je 0x1004300e
movsx eax, word [0x1009b180]
test eax, eax
jne 0x10042f5f
xor ecx, ecx
mov dword [ebp - 0x2d8], 1
mov dword [ebp - 0x2d4], ecx
jmp 0x10042f6a
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d8], xmm0
mov edx, dword [ebp - 0x38]
not edx
mov eax, dword [ebp - 0x34]
not eax
mov dword [ebp - 0x358], edx
mov dword [ebp - 0x354], eax
mov ecx, dword [ebp - 0x2d4]
cmp ecx, dword [ebp - 0x354]
jg 0x10042faa
jl 0x10042f9e
mov edx, dword [ebp - 0x2d8]
cmp edx, dword [ebp - 0x358]
ja 0x10042faa
mov dword [ebp - 0x184], 1
jmp 0x10042fb4
mov dword [ebp - 0x184], 0
mov eax, dword [ebp - 0x184]
not eax
test eax, eax
je 0x1004300e
movzx ecx, byte [0x1009b0a6]
movsx edx, byte [ebp - 4]
cmp ecx, edx
jne 0x10042fdb
mov dword [ebp - 0x188], 1
jmp 0x10042fe5
mov dword [ebp - 0x188], 0
cmp dword [ebp - 0x58], 0
jne 0x10042fff
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x10042fff
mov dword [ebp - 0x18c], 0
jmp 0x10043009
mov dword [ebp - 0x18c], 1
jmp 0x100430c4
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x360], edx
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x360]
or ecx, dword [ebp - 0x35c]
je 0x10043083
mov dx, word [0x1009b158]
mov word [ebp - 0x28], dx
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], ecx
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0xc5bc4ff0
adc edx, 0xd72fe
mov ecx, dword [ebp - 0x60]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
sbb eax, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1009b190]
imul ecx, dword [ebp - 0x3c]
imul ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
jmp 0x100430c4
movzx edx, byte [0x1009b01f]
test edx, edx
jne 0x100430c4
movsx eax, byte [ebp - 4]
not eax
cdq
mov ecx, dword [0x1009b138]
sub ecx, eax
mov eax, dword [0x1009b13c]
sbb eax, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
movzx ecx, word [ebp - 0x20]
sub ecx, 0x2149bf6e
mov byte [0x1009b0ee], cl
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
cmp dword [ebp - 0x2e4], 0x3f6d1
je 0x10044e26
mov dl, byte [0x1009b07e]
sub dl, 1
mov byte [0x1009b07e], dl
movzx eax, byte [ebp - 3]
imul ecx, eax, 0x70
mov dword [0x1009b18c], ecx
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10043104
mov dword [ebp - 0x190], 1
jmp 0x1004310e
mov dword [ebp - 0x190], 0
movzx eax, word [ebp - 0x20]
not eax
sub eax, dword [ebp - 0x4c]
not eax
mov ecx, dword [ebp - 0x190]
sub ecx, eax
not ecx
mov byte [ebp - 1], cl
mov dx, word [0x1009bc7c]
mov word [0x1009b184], dx
movzx eax, byte [0x1009b0ef]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
add ecx, eax
adc esi, edx
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
sub edx, ecx
sbb eax, esi
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
mov byte [0x1009b0ef], 0xaa
mov ecx, dword [str.login_hint]
mov dword [ebp - 0x540], ecx
mov edx, dword [0x1007e9f0]
mov dword [ebp - 0x53c], edx
mov eax, dword [0x1007e9f4]
mov dword [ebp - 0x538], eax
mov ecx, dword [0x1007e9f8]
mov dword [ebp - 0x534], ecx
mov edx, dword [0x1007e9fc]
mov dword [ebp - 0x530], edx
mov ax, word [0x1007ea00]
mov word [ebp - 0x52c], ax
lea ecx, [ebp - 0x540]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [ebp - 0x24], ax
mov edx, dword [0x1009b1a8]
mov eax, dword [0x1009b1ac]
movzx ecx, byte [0x1009b0ef]
add ecx, dword [ebp - 0x48]
xor esi, esi
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x370], ecx
mov dword [ebp - 0x36c], esi
mov edx, dword [ebp - 0x368]
cmp edx, dword [ebp - 0x370]
jne 0x100436ed
mov eax, dword [ebp - 0x364]
cmp eax, dword [ebp - 0x36c]
jne 0x100436ed
movsx ecx, byte [0x1009b0ba]
cmp ecx, dword [0x1009b144]
jbe 0x10043234
mov dword [ebp - 0x194], 1
jmp 0x1004323e
mov dword [ebp - 0x194], 0
movsx edx, byte [0x1009b0ba]
cmp edx, 0xc
jle 0x10043256
mov dword [ebp - 0x198], 1
jmp 0x10043260
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
jg 0x100432a7
movzx ecx, word [0x1009b158]
imul edx, ecx, 0xf2
mov byte [0x1009b0ee], dl
mov eax, dword [ebp - 0x48]
add eax, dword [0x1009b160]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x48], ecx
movzx edx, word [ebp - 0x20]
mov eax, dword [0x1009b14c]
sub eax, edx
mov dword [0x1009b14c], eax
jmp 0x10043358
movsx ecx, byte [ebp - 4]
cmp dword [0x1009b14c], ecx
jl 0x10043358
mov edx, dword [0x1009b168]
mov eax, dword [0x1009b16c]
mov dword [ebp - 0x378], edx
mov dword [ebp - 0x374], eax
mov ecx, dword [ebp - 0x378]
or ecx, dword [ebp - 0x374]
je 0x100432ea
mov edx, dword [0x1009b190]
mov dword [ebp - 0x19c], edx
jmp 0x100432f5
mov eax, dword [0x1009b14c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
xor edx, edx
mov dword [0x1009b160], ecx
mov dword [0x1009b164], edx
movsx eax, byte [ebp - 4]
add eax, 0x9e37
mov dword [0x1009b148], eax
movzx ecx, word [ebp - 0x24]
movzx edx, byte [0x1009b0a6]
sub ecx, edx
mov word [ebp - 0x24], cx
mov eax, dword [0x1009b188]
sub eax, 0x86dd
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov eax, dword [ebp - 0x4c]
cdq
sub eax, 0x49c79753
mov dword [0x1009b170], eax
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
xor ecx, ecx
mov dword [0x1009b178], eax
mov dword [0x1009b17c], ecx
mov edx, dword [0x1009b18c]
xor eax, eax
mov ecx, dword [ebp - 0x48]
xor esi, esi
add ecx, 0x88c1ef03
adc esi, 0x34ae9
mov dword [ebp - 0x380], edx
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x384], esi
mov edx, dword [ebp - 0x380]
cmp edx, dword [ebp - 0x388]
jne 0x100436ed
mov eax, dword [ebp - 0x37c]
cmp eax, dword [ebp - 0x384]
jne 0x100436ed
mov ecx, 4
mov word [ebp - 0x30], cx
movsx edx, byte [ebp - 4]
movsx eax, word [ebp - 0x1c]
imul edx, eax
movsx ecx, byte [ebp - 4]
add ecx, edx
mov byte [ebp - 4], cl
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b150], ecx
mov dword [0x1009b154], esi
mov edx, dword [ebp - 0x58]
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x59c], ecx
sub edx, eax
mov eax, dword [ebp - 0x58]
sub eax, edx
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x54]
add ecx, 0xf5266475
mov edx, dword [ebp - 0x58]
add edx, ecx
mov dword [ebp - 0x58], edx
movzx eax, word [ebp - 0x14]
movzx ecx, byte [ebp - 1]
sub eax, ecx
mov word [ebp - 0x14], ax
movzx edx, word [ebp - 0x30]
mov dword [ebp - 0x1a0], edx
cmp dword [ebp - 0x1a0], 4
ja case.default.0x10043457
mov eax, dword [ebp - 0x1a0]
jmp dword [eax*4 + 0x10044f18]
mov ecx, dword [0x1009b168]
mov edx, dword [0x1009b16c]
mov dword [ebp - 0x5a0], edx
mov byte [ebp - 2], cl
mov eax, 8
imul ecx, eax, 0x958f
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ecx + 0x1009bd48], edx
mov dword [ecx + 0x1009bd4c], eax
movzx ecx, byte [0x1009b0ee]
not ecx
movsx edx, word [ebp - 0xc]
imul ecx, edx
mov word [0x1009b158], cx
movsx eax, word [ebp - 8]
mov ecx, 4
imul edx, ecx, 0x164e
mov dword [edx + 0x102b4bf0], eax
jmp case.default.0x10043457
mov eax, 2
imul ecx, eax, 0x2fd5
movzx eax, word [ecx + 0x1021a340]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x5c]
jne 0x100434f4
mov dword [ebp - 0x1a4], 1
jmp 0x100434fe
mov dword [ebp - 0x1a4], 0
movsx eax, byte [0x1009b0ba]
movzx ecx, word [ebp - 0x14]
sub eax, ecx
add eax, dword [ebp - 0x1a4]
mov byte [0x1009b033], al
movsx eax, word [ebp - 0xc]
cdq
mov ecx, eax
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
mov dword [ebp - 0x5a4], eax
add ecx, edx
movsx eax, word [ebp - 0xc]
cdq
sub eax, ecx
mov word [ebp - 0xc], ax
movzx ecx, word [0x1009b184]
movzx edx, byte [ebp - 1]
add ecx, edx
movzx eax, word [0x1009b184]
sub eax, ecx
mov word [0x1009b184], ax
jmp case.default.0x10043457
mov ecx, dword [0x1009b1a0]
xor ecx, 0xe5913c57
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
add edx, 1
adc eax, 0
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
movsx ecx, word [ebp - 8]
movzx edx, byte [ebp - 1]
add ecx, edx
movsx eax, word [ebp - 8]
sub eax, ecx
mov word [ebp - 8], ax
movsx ecx, word [ebp - 0xc]
sub ecx, 0x21fb
mov dword [0x1009b14c], ecx
movzx eax, byte [ebp - 1]
cdq
push 0x385fa
push 0x1ccb94a
push edx
push eax
call fcn.1006c090
mov byte [ebp - 3], al
jmp case.default.0x10043457
movzx edx, byte [0x1009b01f]
test edx, edx
je 0x100435e4
mov eax, dword [0x1009b190]
mov dword [ebp - 0x1a8], eax
jmp 0x100435f1
movzx ecx, byte [0x1009b0ef]
mov dword [ebp - 0x1a8], ecx
mov dx, word [ebp - 0x1a8]
mov word [ebp - 8], dx
movsx eax, word [ebp - 0xc]
movsx ecx, word [ebp - 0xc]
add eax, ecx
cdq
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx edx, byte [ebp - 3]
mov eax, dword [0x1009b1b0]
add eax, edx
mov ecx, dword [0x1009b1b0]
or ecx, eax
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b130]
mov eax, dword [0x1009b134]
sub edx, 0xdb
sbb eax, 0
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
jmp case.default.0x10043457
mov ecx, dword [0x1009b190]
add ecx, 0x4986ac7f
mov edx, dword [0x1009b148]
sub edx, ecx
mov dword [0x1009b148], edx
movzx eax, word [ebp - 0x20]
movsx ecx, byte [0x1009b0a7]
sub eax, ecx
mov edx, dword [0x1009b140]
xor eax, edx
cdq
mov ecx, eax
mov edx, dword [0x1009b18c]
not edx
sub edx, dword [ebp - 0x3c]
mov esi, edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, dword [ebp - 0x38]
sub esi, eax
and ecx, esi
mov byte [ebp - 4], cl
movsx eax, word [ebp - 0x10]
xor eax, 0x5e7dffaa
movsx ecx, word [ebp - 0x10]
add ecx, eax
mov word [ebp - 0x10], cx
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x54]
mov dword [ebp - 0x3c], edx
jmp 0x10043166
movsx eax, word [ebp - 8]
cdq
push 0xb9bf6
push 0xc86a19a3
push edx
push eax
call fcn.1006c090
mov dword [0x1009b140], eax
movzx eax, word [ebp - 0x30]
cdq
add eax, 0x96f80933
mov dword [0x1009b148], eax
mov ecx, dword [0x1009b14c]
add ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], ecx
movzx edx, byte [0x1009b0ee]
movsx eax, word [0x1009b180]
sub edx, eax
movzx ecx, byte [0x1009b0ee]
add ecx, edx
mov byte [0x1009b0ee], cl
mov edx, dword [0x1009b138]
or edx, dword [0x1009b13c]
je 0x10043840
imul eax, dword [0x1009b140], 0x23aab907
mov byte [0x1009b033], al
mov ecx, dword [ebp - 0x4c]
shl ecx, 7
mov word [ebp - 0x10], cx
movzx edx, byte [0x1009b07f]
movsx eax, byte [0x1009b0a7]
sub edx, eax
mov byte [0x1009b07f], dl
movzx ecx, byte [0x1009b0ee]
test ecx, ecx
jne 0x100437a2
xor edx, edx
mov dword [ebp - 0x238], 1
mov dword [ebp - 0x234], edx
jmp 0x100437ad
xorps xmm0, xmm0
movlpd qword [ebp - 0x238], xmm0
movsx eax, word [ebp - 0x10]
add eax, dword [ebp - 0x58]
jne 0x100437ca
xor ecx, ecx
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x38c], ecx
jmp 0x100437d5
xorps xmm0, xmm0
movlpd qword [ebp - 0x390], xmm0
mov edx, dword [ebp - 0x234]
push edx
mov eax, dword [ebp - 0x238]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.1006c090
not eax
sub eax, dword [0x1009b1b0]
not eax
mov ecx, dword [ebp - 0x54]
not ecx
add ecx, dword [ebp - 0x390]
sub eax, ecx
mov word [ebp - 0x24], ax
movzx edx, byte [ebp - 2]
mov eax, dword [ebp - 0x58]
sub eax, edx
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov dword [ebp - 0x58], ecx
movsx eax, word [ebp - 8]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x44]
movsx eax, byte [ebp - 4]
movzx edx, byte [0x1009b033]
imul eax, edx
cdq
sub ecx, eax
mov word [ebp - 0x18], cx
jmp 0x10043a2e
mov eax, dword [ebp - 0x38]
add eax, dword [0x1009b138]
mov ecx, dword [ebp - 0x34]
adc ecx, dword [0x1009b13c]
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x398]
or edx, dword [ebp - 0x394]
jne 0x100438d4
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 4
call fcn.1006c0d0
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov eax, dword [ebp - 0x2c]
sar eax, 5
mov dword [ebp - 0x2c], eax
mov ecx, 4
imul edx, ecx, 0x2a78
mov eax, dword [edx + 0x10113008]
cdq
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
jmp 0x10043a2e
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x1009b1a8]
mov esi, dword [0x1009b1ac]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], edx
mov dword [ebp - 0x3a8], ecx
mov dword [ebp - 0x3a4], esi
mov edx, dword [ebp - 0x39c]
cmp edx, dword [ebp - 0x3a4]
jl 0x10043a2e
jg 0x10043923
mov eax, dword [ebp - 0x3a0]
cmp eax, dword [ebp - 0x3a8]
jb 0x10043a2e
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov cl, 6
call fcn.1006c0d0
mov dword [0x1009b1a0], eax
movzx ecx, word [ebp - 0x14]
add ecx, dword [0x1009b1b0]
movzx edx, word [ebp - 0x14]
add edx, ecx
mov word [ebp - 0x14], dx
movzx eax, word [ebp - 0x30]
mov ecx, dword [0x1009b1b0]
xor ecx, eax
jne 0x1004396b
xor edx, edx
mov dword [ebp - 0x240], 1
mov dword [ebp - 0x23c], edx
jmp 0x10043976
xorps xmm0, xmm0
movlpd qword [ebp - 0x240], xmm0
movzx eax, word [0x1009b158]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 2]
not eax
cdq
mov ecx, dword [0x1009b150]
mov ebx, dword [0x1009b154]
push ebx
push ecx
push edx
push eax
call fcn.1006c090
add eax, dword [ebp - 0x240]
adc edx, dword [ebp - 0x23c]
add esi, eax
adc edi, edx
mov dword [ebp - 0x3b0], esi
mov dword [ebp - 0x3ac], edi
mov edx, dword [ebp - 0x3b0]
or edx, dword [ebp - 0x3ac]
jne 0x100439ce
mov byte [ebp - 0x65], 1
jmp 0x100439d2
mov byte [ebp - 0x65], 0
mov al, byte [ebp - 0x65]
mov byte [ebp - 2], al
mov ecx, dword [0x1009b188]
not ecx
or ecx, dword [ebp - 0x48]
jne 0x100439f1
mov dword [ebp - 0x1ac], 1
jmp 0x100439fb
mov dword [ebp - 0x1ac], 0
movzx edx, byte [0x1009b01f]
movzx eax, byte [0x1009b033]
xor eax, dword [ebp - 0x1ac]
xor edx, eax
mov word [ebp - 0x10], dx
movzx eax, word [ebp - 0x30]
cdq
push 0x12750
push 0x16fa5c77
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x48], eax
push 4
push 0x3000
push 0x100000
push 0
push 0
push 0
call fcn.10001290
call eax
mov dword [ebp - 0x7c], eax
mov byte [0x1009b033], 0xce
mov ecx, dword [0x1009b1b0]
imul ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
sub edx, ecx
mov dword [ebp - 0x2c], edx
movzx eax, word [ebp - 0x18]
test eax, eax
jne 0x10043a77
mov dword [ebp - 0x1b0], 1
jmp 0x10043a81
mov dword [ebp - 0x1b0], 0
movzx ecx, word [ebp - 0x20]
movzx edx, word [0x1009b158]
imul ecx, edx
mov eax, dword [ebp - 0x1b0]
lea ecx, [ecx + eax - 0xd34f]
test ecx, ecx
jne 0x10043aac
mov dword [ebp - 0x1b4], 1
jmp 0x10043ab6
mov dword [ebp - 0x1b4], 0
movzx edx, byte [0x1009b07e]
mov eax, dword [ebp - 0x1b4]
sub eax, edx
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x424d21d3
mov word [ebp - 0x20], cx
movzx edx, word [0x1009b184]
movsx eax, word [ebp - 0x1c]
lea ecx, [eax + edx - 0x7d5b0843]
mov word [ebp - 0x1c], cx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
push 0
push 0x353087a6
push eax
push edx
call fcn.1006c090
movzx ecx, word [ebp - 0x24]
mov esi, dword [0x1009b148]
xor esi, ecx
xor ecx, ecx
xor eax, esi
xor edx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
movzx edx, byte [ebp - 1]
sub edx, 0x1bb9945a
xor eax, eax
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], eax
mov ecx, dword [0x1009b138]
cmp ecx, dword [ebp - 0x3b8]
jne 0x10043c4e
mov edx, dword [0x1009b13c]
cmp edx, dword [ebp - 0x3b4]
jne 0x10043c4e
mov eax, dword [ebp - 0x4c]
cdq
add eax, dword [0x1009b138]
adc edx, dword [0x1009b13c]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], edx
cmp dword [ebp - 0x3c0], 1
jne 0x10043c4e
cmp dword [ebp - 0x3bc], 0
jne 0x10043c4e
movsx eax, byte [0x1009b0a7]
cmp dword [ebp - 0x58], eax
jne 0x10043bbc
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x5a8], edx
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x3c], eax
jmp 0x10043a4a
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov dword [0x1009b148], eax
mov ecx, dword [ebp - 0x1bc]
imul ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x2e8]
add edx, dword [ebp - 0x2ec]
cmp ecx, edx
je 0x10043f08
mov eax, dword [str.operation_in_progr]
mov dword [ebp - 0x500], eax
mov ecx, dword [0x1007ea08]
mov dword [ebp - 0x4fc], ecx
mov edx, dword [0x1007ea0c]
mov dword [ebp - 0x4f8], edx
mov eax, dword [0x1007ea10]
mov dword [ebp - 0x4f4], eax
mov cx, word [0x1007ea14]
mov word [ebp - 0x4f0], cx
mov dl, byte [0x1007ea16]
mov byte [ebp - 0x4ee], dl
lea eax, [ebp - 0x500]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
cdq
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movsx eax, byte [0x1009b0bb]
cdq
mov ecx, dword [0x1009b130]
mov esi, dword [0x1009b134]
mov dword [ebp - 0x424], eax
mov dword [ebp - 0x420], edx
mov dword [ebp - 0x3d0], ecx
mov dword [ebp - 0x3cc], esi
mov edx, dword [ebp - 0x420]
cmp edx, dword [ebp - 0x3cc]
jl 0x10043d31
jg 0x10043d25
mov eax, dword [ebp - 0x424]
cmp eax, dword [ebp - 0x3d0]
jbe 0x10043d31
mov dword [ebp - 0x1c0], 1
jmp 0x10043d3b
mov dword [ebp - 0x1c0], 0
movsx ecx, byte [0x1009b0bb]
cmp ecx, 0x16
jle 0x10043d53
mov dword [ebp - 0x1c4], 1
jmp 0x10043d5d
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x1c0]
cmp edx, dword [ebp - 0x1c4]
jl 0x10043dba
movzx eax, byte [0x1009b0ee]
shl eax, 3
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x4c]
xor ecx, 0xea55
mov dword [0x1009b1b0], ecx
mov edx, dword [0x1009b148]
sub edx, dword [0x1009b188]
not edx
mov word [ebp - 0x14], dx
mov byte [ebp - 4], 0xa
mov eax, 2
imul ecx, eax, 5
movzx edx, word [ecx + 0x1014e3e8]
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [ebp - 0x3c], eax
jmp 0x10043e8a
movzx ecx, byte [0x1009b01f]
test ecx, ecx
je 0x10043e8a
mov edx, 1
imul eax, edx, 0xab
movzx ecx, byte [eax + 0x101c09f0]
movsx edx, byte [ebp - 4]
sub edx, ecx
mov byte [ebp - 4], dl
cmp dword [ebp - 0x58], 0
jne 0x10043df6
mov dword [ebp - 0x1c8], 1
jmp 0x10043e00
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x44]
or eax, dword [ebp - 0x40]
jne 0x10043e14
mov dword [ebp - 0x1cc], 1
jmp 0x10043e1e
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
xor ecx, dword [ebp - 0x1cc]
mov word [0x1009b158], cx
movsx eax, word [ebp - 0xc]
cdq
mov dword [0x1009b150], eax
mov dword [0x1009b154], edx
movzx eax, word [ebp - 0x24]
cdq
sub eax, dword [ebp - 0x38]
mov word [ebp - 0x24], ax
movsx edx, byte [0x1009b0bb]
test edx, edx
je 0x10043e71
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], ecx
jmp 0x10043e81
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], edx
mov edx, dword [ebp - 0x248]
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x210]
push eax
push 0x100000
mov ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x1d0]
push edx
push 0
push 0
call fcn.10001470
call eax
test eax, eax
je 0x10043eb9
cmp dword [ebp - 0x210], 0
jne 0x10043f08
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov edx, 8
imul edx, edx, 0x46f3
mov dword [edx + 0x1012a9d0], eax
mov dword [edx + 0x1012a9d4], ecx
imul eax, dword [ebp - 0x2c], 0xcc2f9439
mov word [ebp - 0x14], ax
movzx ecx, byte [ebp - 3]
imul edx, ecx, 0x9b9e4ce5
or edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x2c]
cdq
add eax, dword [0x1009b138]
mov dword [ebp - 0x2c], eax
jmp 0x10044e26
mov dword [ebp - 0xb0], 0x108f
mov eax, dword [ebp - 0x2c]
not eax
mov word [ebp - 0x14], ax
mov eax, dword [ebp - 0x2c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x40]
push ecx
mov edx, dword [ebp - 0x44]
push edx
call fcn.1006c090
push edx
push eax
mov eax, dword [ebp - 0x40]
push eax
mov ecx, dword [ebp - 0x44]
push ecx
call fcn.1006c090
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx eax, word [0x1009b184]
cdq
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
push edx
push eax
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x3d8], ecx
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d8]
or eax, dword [ebp - 0x3d4]
je 0x10043f98
movzx ecx, byte [ebp - 2]
mov dword [ebp - 0x1d4], ecx
jmp 0x10043fa2
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x1d4], edx
mov al, byte [ebp - 0x1d4]
mov byte [ebp - 2], al
movzx eax, word [0x1009b184]
cdq
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
cmp dword [ebp - 0xb0], 0xf9e
jle 0x1004401e
mov edx, dword [0x1009b170]
add edx, 0x1043
mov byte [0x1009b033], dl
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x1009b148]
add edx, 0xc3
mov byte [ebp - 1], dl
mov eax, dword [ebp - 0xb0]
sub eax, 1
mov dword [ebp - 0xb0], eax
jmp 0x10043fd3
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x2f4], ecx
xor edx, edx
mov dword [0x1009b138], 0xa788119a
mov dword [0x1009b13c], edx
movzx eax, byte [ebp - 1]
add eax, 1
cdq
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov eax, dword [0x1009b138]
cmp eax, dword [ebp - 0x3e0]
jne 0x100443d4
mov ecx, dword [0x1009b13c]
cmp ecx, dword [ebp - 0x3dc]
jne 0x100443d4
movzx edx, byte [ebp - 3]
cmp dword [0x1009b144], edx
jb 0x10044088
mov dword [ebp - 0x1d8], 1
jmp 0x10044092
mov dword [ebp - 0x1d8], 0
cmp dword [0x1009b144], 0x14
jb 0x100440a7
mov dword [ebp - 0x1dc], 1
jmp 0x100440b1
mov dword [ebp - 0x1dc], 0
mov eax, dword [ebp - 0x1d8]
cmp eax, dword [ebp - 0x1dc]
jne 0x100441c4
movzx ecx, byte [ebp - 3]
push ecx
call dword [sym.imp.KERNEL32.dll_SetLastError]
movsx edx, word [ebp - 0x28]
test edx, edx
jl 0x100440e2
mov dword [ebp - 0x1e0], 1
jmp 0x100440ec
mov dword [ebp - 0x1e0], 0
movsx eax, word [ebp - 0x28]
cmp eax, 0x26
jl 0x10044101
mov dword [ebp - 0x1e4], 1
jmp 0x1004410b
mov dword [ebp - 0x1e4], 0
mov ecx, dword [ebp - 0x1e0]
cmp ecx, dword [ebp - 0x1e4]
jg 0x10044162
mov edx, dword [0x1009b198]
mov eax, dword [0x1009b19c]
push 0
push 0x1bbf4e03
push eax
push edx
call fcn.1006c090
mov byte [0x1009b0a6], al
mov ecx, dword [0x1009b148]
add ecx, 0x9ec9
xor edx, edx
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
movzx eax, byte [0x1009b0a6]
mov ecx, dword [0x1009b188]
sub ecx, eax
mov dword [0x1009b188], ecx
jmp 0x100441c2
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x10044176
mov dword [ebp - 0x1e8], 1
jmp 0x10044180
mov dword [ebp - 0x1e8], 0
movzx eax, byte [0x1009b0a6]
xor eax, 0xd97894eb
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x1e8]
imul eax, ecx
not eax
mov dword [ebp - 0x48], eax
movsx edx, word [ebp - 0x1c]
sub edx, 0xf0df
mov dword [ebp - 0x2c], edx
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x1009b0bb]
and eax, ecx
movsx edx, word [ebp - 0x28]
imul edx, eax
mov word [ebp - 0x28], dx
jmp 0x1004423c
mov eax, dword [0x1009b168]
mov ecx, dword [0x1009b16c]
mov dword [ebp - 0x5ac], ecx
sub eax, 2
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x54]
add edx, 0x12d2
mov byte [0x1009b0ba], dl
movzx eax, byte [0x1009b033]
movzx ecx, byte [0x1009b07f]
add eax, ecx
movzx edx, byte [0x1009b033]
add edx, eax
mov byte [0x1009b033], dl
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x5b0], ecx
add eax, 0x38f1
mov dword [ebp - 0x4c], eax
movzx eax, word [ebp - 0x14]
cdq
add eax, 0x4bb1f4ac
mov byte [ebp - 3], al
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movzx ecx, byte [ebp - 1]
test ecx, ecx
je 0x10044252
mov edx, dword [0x1009b170]
mov dword [ebp - 0x1ec], edx
jmp 0x1004425c
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x1ec]
mov dword [ebp - 0x58], ecx
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x10044279
mov dword [ebp - 0x1f0], 1
jmp 0x10044283
mov dword [ebp - 0x1f0], 0
movsx eax, byte [ebp - 4]
movzx ecx, word [ebp - 0x18]
sub eax, ecx
mov edx, 0xc4
sub edx, dword [ebp - 0x1f0]
add eax, edx
mov byte [0x1009b0a6], al
mov eax, dword [0x1009b1a8]
mov ecx, dword [0x1009b1ac]
mov dword [ebp - 0x5b4], ecx
sub eax, 0xfee3
mov byte [0x1009b0a6], al
movsx edx, word [0x1009b180]
xor edx, dword [ebp - 0x3c]
imul edx, dword [ebp - 0x3c]
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x1009b0a7]
cmp eax, 1
jne 0x100443d4
movzx ecx, word [ebp - 0x24]
imul eax, ecx, 0x89c0
cdq
mov dword [0x1009b138], eax
mov dword [0x1009b13c], edx
mov byte [0x1009b0ba], 0x42
movzx eax, byte [ebp - 1]
cdq
add eax, 0xa90c8b8f
mov byte [ebp - 2], al
movzx eax, word [0x1009b158]
cdq
push 0x3fd88
push 0x42a3528c
push edx
push eax
call fcn.1006c090
mov word [0x1009b180], ax
movzx eax, byte [0x1009b01f]
cdq
add eax, 0x5cf0e37f
mov dword [ebp - 0x3c], eax
jmp 0x100443d4
xor edx, edx
mov dword [0x1009b138], 0xa788119a
mov dword [0x1009b13c], edx
cmp dword [0x1009b148], 0
jne 0x100443fb
mov dword [ebp - 0x1f4], 1
jmp 0x10044405
mov dword [ebp - 0x1f4], 0
movsx eax, word [ebp - 0xc]
mov ecx, dword [ebp - 0x1f4]
sub ecx, eax
mov eax, ecx
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x58], 0xb7
movsx edx, byte [0x1009b0bb]
mov dword [0x1009b190], edx
movzx eax, word [0x1009b158]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [0x1009b0ba]
test eax, eax
je 0x10044465
mov ecx, dword [0x1009b170]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
mov dword [ebp - 0x58], eax
jmp 0x100444d4
movzx edx, word [ebp - 0x18]
test edx, edx
je 0x100444d4
movsx eax, word [ebp - 0x28]
cdq
add eax, 0xb87aef63
adc edx, 0xa434d
mov dword [0x1009b198], eax
mov dword [0x1009b19c], edx
mov eax, dword [0x1009b188]
add eax, 0xc3
mov dword [0x1009b1b0], eax
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [0x1009b190]
xor edx, edx
sub ecx, dword [ebp - 0x54]
sbb edx, dword [ebp - 0x50]
mov eax, dword [0x1009b190]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.1006c090
mov dword [0x1009b190], eax
mov cl, byte [0x1009b0a7]
sub cl, 1
mov byte [0x1009b0a7], cl
mov edx, 0x256
sub edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb4]
sub ecx, eax
cmp edx, ecx
je 0x10044ce4
mov edx, dword [str.Windows.Security.C]
mov dword [ebp - 0x514], edx
mov eax, dword [0x1007ea1c]
mov dword [ebp - 0x510], eax
mov ecx, dword [0x1007ea20]
mov dword [ebp - 0x50c], ecx
mov edx, dword [0x1007ea24]
mov dword [ebp - 0x508], edx
mov ax, word [0x1007ea28]
mov word [ebp - 0x504], ax
mov cl, byte [0x1007ea2a]
mov byte [ebp - 0x502], cl
lea edx, [ebp - 0x514]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [0x1009b188], eax
xor eax, eax
mov dword [0x1009b198], 0x64
mov dword [0x1009b19c], eax
mov ecx, dword [0x1009b150]
mov edx, dword [0x1009b154]
push 0
push 0xbf5da7b5
push edx
push ecx
call fcn.1006c090
mov byte [0x1009b0bb], al
mov eax, 0xc15d
mov word [ebp - 0x14], ax
movzx ecx, byte [0x1009b07f]
movzx edx, byte [0x1009b07f]
add ecx, edx
mov byte [0x1009b07f], cl
movsx eax, byte [0x1009b0bb]
cdq
sub eax, 0x63451ce6
mov byte [0x1009b033], al
mov ecx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
movzx eax, byte [ebp - 1]
add eax, 0x64
cdq
mov dword [ebp - 0x3f0], ecx
mov dword [ebp - 0x3ec], esi
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], edx
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ebp - 0x3f8]
jne 0x10044722
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x3f4]
jne 0x10044722
movsx ecx, byte [0x1009b0bb]
mov edx, dword [ebp - 0x4c]
add edx, 0xdf7b
cmp ecx, edx
jne 0x10044722
mov eax, dword [0x1009bc7c]
xor ecx, ecx
mov dword [0x1009b198], eax
mov dword [0x1009b19c], ecx
movzx edx, word [ebp - 0x18]
movzx eax, byte [0x1009b07e]
imul edx, eax
not edx
mov word [ebp - 0x18], dx
mov cl, byte [0x1009bc7c]
mov byte [0x1009b0ba], cl
jmp 0x10044722
xor ecx, ecx
mov dword [0x1009b198], 0x64
mov dword [0x1009b19c], ecx
mov edx, dword [ebp - 0x44]
not edx
mov eax, dword [ebp - 0x40]
not eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x38]
sub ecx, 0xcd3243fc
mov byte [0x1009b07e], cl
xor edx, edx
mov eax, dword [0x1009b198]
mov ecx, dword [0x1009b19c]
sub eax, dword [0x1009b18c]
sbb ecx, edx
mov edx, dword [0x1009b198]
mov esi, dword [0x1009b19c]
add edx, eax
adc esi, ecx
mov dword [0x1009b198], edx
mov dword [0x1009b19c], esi
mov eax, dword [0x1009bc7c]
mov dword [0x1009b188], eax
movsx ecx, word [ebp - 0xc]
add ecx, 0x4c4e
mov byte [0x1009b0ef], cl
movsx edx, byte [0x1009b0a7]
add edx, 0xcf22f33
movzx eax, byte [0x1009b0a6]
sub eax, edx
mov byte [0x1009b0a6], al
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov word [ebp - 0x10], ax
movsx ecx, word [ebp - 0x10]
test ecx, ecx
jg 0x10044ac0
mov dword [0x1009b170], 2
cmp dword [0x1009b148], 0
jne 0x100447ee
mov dword [ebp - 0x1f8], 1
jmp 0x100447f8
mov dword [ebp - 0x1f8], 0
mov edx, dword [ebp - 0x1f8]
sub edx, dword [0x1009b18c]
jne 0x10044812
mov dword [ebp - 0x208], 1
jmp 0x1004481c
mov dword [ebp - 0x208], 0
movsx eax, byte [0x1009b0bb]
test eax, eax
jne 0x10044833
mov dword [ebp - 0x1fc], 1
jmp 0x1004483d
mov dword [ebp - 0x1fc], 0
movzx ecx, byte [0x1009b07f]
test ecx, ecx
jne 0x10044854
mov dword [ebp - 0x200], 1
jmp 0x1004485e
mov dword [ebp - 0x200], 0
mov edx, dword [ebp - 0x1fc]
xor edx, dword [ebp - 0x200]
jne 0x10044878
mov dword [ebp - 0x204], 1
jmp 0x10044882
mov dword [ebp - 0x204], 0
movsx eax, word [ebp - 8]
mov ecx, dword [0x1009b1b0]
sub ecx, eax
not ecx
add ecx, dword [ebp - 0x204]
jne 0x100448a4
mov dword [ebp - 0x20c], 1
jmp 0x100448ae
mov dword [ebp - 0x20c], 0
mov edx, dword [0x1009b190]
imul edx, dword [ebp - 0x208]
add edx, dword [ebp - 0x20c]
mov word [ebp - 0x14], dx
movsx eax, byte [0x1009b0a7]
mov ecx, dword [0x1009b14c]
add ecx, eax
mov byte [0x1009b07e], cl
mov edx, dword [0x1009b148]
imul edx, dword [ebp - 0x48]
mov eax, dword [0x1009b14c]
sub eax, edx
mov ecx, eax
xor esi, esi
movzx eax, byte [ebp - 2]
not eax
cdq
mov edi, 0xcc28ced8
sub edi, eax
mov eax, 0xa50f2
sbb eax, edx
sub ecx, edi
sbb esi, eax
mov dword [0x1009b160], ecx
mov dword [0x1009b164], esi
movzx eax, byte [0x1009b033]
cdq
mov ecx, dword [0x1009b150]
mov esi, dword [0x1009b154]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1009b150]
mov eax, dword [0x1009b154]
add edx, ecx
adc eax, esi
mov dword [0x1009b150], edx
mov dword [0x1009b154], eax
movsx eax, byte [0x1009b0a7]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
xor ecx, eax
xor esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
mov edx, dword [0x1009b170]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
je 0x1004499a
cmp dword [ebp - 0xb8], 1
je 0x100449c3
cmp dword [ebp - 0xb8], 2
je 0x10044a24
jmp 0x10044ac0
mov byte [ebp - 1], 0x76
mov eax, dword [0x1009b13c]
push eax
mov ecx, dword [0x1009b138]
push ecx
mov edx, dword [ebp - 0x50]
push edx
mov eax, dword [ebp - 0x54]
push eax
call fcn.1006c090
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10044ac0
movsx ecx, word [ebp - 8]
test ecx, ecx
je 0x100449df
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x250], edx
mov dword [ebp - 0x24c], eax
jmp 0x100449ef
mov eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], edx
mov cl, byte [ebp - 0x250]
mov byte [0x1009b0ef], cl
mov edx, dword [ebp - 0x58]
add edx, 0x6b2ed6e2
mov byte [0x1009b0a7], dl
movzx eax, byte [0x1009b033]
movsx ecx, byte [0x1009b0a7]
add eax, ecx
mov byte [0x1009b033], al
jmp 0x10044ac0
movzx edx, byte [0x1009b033]
movzx eax, byte [0x1009b01f]
imul edx, eax
movzx ecx, byte [0x1009b033]
imul ecx, edx
mov byte [0x1009b033], cl
mov eax, dword [ebp - 0x2c]
not eax
cdq
mov ecx, dword [ebp - 0x44]
not ecx
mov esi, dword [ebp - 0x40]
not esi
push esi
push ecx
push edx
push eax
call fcn.1006c090
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 0x58]
xor ebx, ebx
mov edx, dword [0x1009b19c]
sub ecx, dword [0x1009b198]
sbb ebx, edx
movsx eax, byte [0x1009b0ba]
imul eax, eax, 0x9fae9bda
cdq
push edx
push eax
push ebx
push ecx
call fcn.1006c090
push edx
push eax
push edi
push esi
call fcn.1006c090
not eax
mov word [ebp - 8], ax
movzx eax, word [ebp - 0x14]
sub eax, 0xe2
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx ecx, word [0x1009b184]
mov edx, dword [0x1009b1b0]
add edx, ecx
mov dword [0x1009b1b0], edx
mov eax, dword [ebp - 0x2f4]
movzx ecx, word [eax]
cmp ecx, 0x5a4d
je 0x10044ae1
cmp dword [ebp - 0x80], 0
jne 0x10044ae1
jmp 0x10044e26
movzx edx, word [ebp - 0x20]
cmp edx, dword [ebp - 0x2c]
je 0x10044b7f
cmp dword [ebp - 0x58], 0
je 0x10044b4f
mov eax, dword [ebp - 0x3c]
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
mov dword [ebp - 0x5b8], edx
xor eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [0x1009b148]
sub eax, 0x7622ab69
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x28]
add ecx, 0x7407550d
mov dword [0x1009b188], ecx
movzx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1009b168]
mov esi, dword [0x1009b16c]
sub ecx, eax
sbb esi, edx
mov dword [0x1009b168], ecx
mov dword [0x1009b16c], esi
jmp 0x10044b7a
mov edx, dword [0x1009b138]
sub edx, 0x2c644298
mov dword [0x1009b190], edx
movzx eax, word [ebp - 0x14]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov cl, byte [0x1009b01f]
add cl, 1
mov byte [0x1009b01f], cl
jmp 0x10044cbe
movzx edx, word [0x1009b158]
mov eax, dword [ebp - 0x48]
imul eax, edx
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x48], ecx
mov edx, dword [0x1009b1b0]
add edx, 0x45f5c94c
mov dword [0x1009b188], edx
movsx eax, byte [ebp - 4]
cdq
mov ecx, dword [0x1009b17c]
push ecx
mov ecx, dword [0x1009b178]
push ecx
push edx
push eax
call fcn.1006c090
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], edx
mov edx, dword [ebp - 0x400]
or edx, dword [ebp - 0x3fc]
jne 0x10044bee
xor eax, eax
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x25c], eax
jmp 0x10044bf9
xorps xmm0, xmm0
movlpd qword [ebp - 0x260], xmm0
cmp dword [0x1009b148], 0
jne 0x10044c16
xor ecx, ecx
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x254], ecx
jmp 0x10044c21
xorps xmm0, xmm0
movlpd qword [ebp - 0x258], xmm0
mov eax, dword [0x1009b188]
cdq
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov esi, dword [ebp - 0x34]
sbb esi, edx
movzx eax, word [ebp - 0x20]
movzx edx, word [ebp - 0x14]
not edx
and eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1006c090
mov ecx, dword [0x1009b138]
and ecx, dword [ebp - 0x258]
mov esi, dword [0x1009b13c]
and esi, dword [ebp - 0x254]
mov edi, dword [ebp - 0x260]
sub edi, ecx
mov ecx, dword [ebp - 0x25c]
sbb ecx, esi
not edi
not ecx
add eax, edi
adc edx, ecx
mov dword [0x1009b1a8], eax
mov dword [0x1009b1ac], edx
mov edx, dword [0x1009b170]
not edx
movzx eax, word [ebp - 0x30]
imul edx, eax
xor ecx, ecx
mov dword [0x1009b160], edx
mov dword [0x1009b164], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
mov cx, word [0x1009bc7c]
mov word [0x1009b158], cx
push 0
lea edx, [ebp - 0x5bc]
push edx
mov eax, dword [ebp - 0x210]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0xbc]
push edx
push 0
push 0
call fcn.10001440
call eax
xor eax, eax
mov word [ebp - 8], ax
mov ecx, dword [0x1009b1a0]
sub ecx, 1
mov dword [0x1009b1a0], ecx
movzx eax, word [ebp - 0x14]
cdq
push 0xc3cd8
push 0x9b15b404
push edx
push eax
call fcn.1006c090
mov word [ebp - 0x14], ax
cmp dword [ebp - 0x2c], 0
je 0x10044d25
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x214], edx
jmp 0x10044d2f
movsx eax, byte [ebp - 4]
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x2c], ecx
movzx eax, byte [0x1009b07f]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x38]
movzx eax, byte [0x1009b07f]
cdq
or eax, ecx
mov byte [0x1009b07f], al
movzx edx, byte [0x1009b07f]
add edx, 0xacb1
imul edx, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x44]
sub edx, eax
mov eax, dword [ebp - 0x40]
sbb eax, ecx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
movsx ecx, word [ebp - 8]
mov dword [ebp - 0x2f8], ecx
cmp dword [ebp - 0x2f8], 0
je 0x10044d99
jmp 0x10044e10
mov edx, dword [0x1009bc7c]
xor eax, eax
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movzx ecx, byte [ebp - 1]
mov edx, dword [0x1009b170]
sub edx, ecx
mov eax, dword [0x1009b170]
sub eax, edx
mov dword [0x1009b170], eax
mov ecx, dword [0x1009b1a8]
mov edx, dword [0x1009b1ac]
push edx
push ecx
mov eax, dword [0x1009b17c]
push eax
mov ecx, dword [0x1009b178]
push ecx
call fcn.1006c090
mov dword [0x1009b178], eax
mov dword [0x1009b17c], edx
movzx edx, byte [0x1009b0a6]
add edx, 0xa9
movzx eax, word [ebp - 0x24]
movsx ecx, byte [0x1009b0ba]
imul eax, ecx
sub edx, eax
mov word [ebp - 0x1c], dx
mov edx, dword [ebp - 0x80]
add edx, 1
mov dword [ebp - 0x80], edx
mov eax, 1
test eax, eax
jne 0x10043742
mov ecx, dword [ebp - 0xbc]
push ecx
push 0
push 0
call fcn.10001680
call eax
mov edx, dword [ebp - 0x78]
push edx
push 0
push 0
call fcn.10001350
call eax
push 0x8000
push 0
mov eax, dword [ebp - 0x7c]
push eax
push 0
push 0
call fcn.100012c0
call eax
cmp dword [ebp - 0x80], 0
jne 0x10044e67
xor eax, eax
jmp 0x10044ed4
movzx ecx, byte [ebp - 2]
imul edx, ecx, 0x8b568dd0
xor eax, eax
mov dword [0x1009b1a8], edx
mov dword [0x1009b1ac], eax
movzx ecx, word [ebp - 0x20]
mov edx, dword [0x1009b190]
add edx, ecx
mov eax, dword [0x1009b190]
sub eax, edx
mov dword [0x1009b190], eax
cmp dword [0x1009b14c], 0
jne 0x10044eab
mov dword [ebp - 0x218], 1
jmp 0x10044eb5
mov dword [ebp - 0x218], 0
movzx ecx, byte [0x1009b07e]
movzx edx, word [ebp - 0x24]
sub ecx, edx
mov eax, dword [ebp - 0x218]
sub eax, ecx
mov dword [0x1009b14c], eax
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8