Function at 0x407fb0
Capabilities:
Parse pe header

Disassembly:
push 0x88
mov eax, 0x49640f
call fcn.00482643
xor ebx, ebx
mov dword [ebp - 0x78], ebx
call fcn.00462b71
push eax
lea ecx, [ebp - 0x18]
call fcn.0040176f
xor esi, esi
inc esi
mov dword [ebp - 4], esi
mov eax, dword [edi + 4]
cmp eax, 0xffffffff
jne 0x407ff1
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
call fcn.00401a22
jmp 0x409b9a
mov ecx, dword [0x4cc160]
mov eax, dword [ecx + eax*4]
mov eax, dword [eax]
push ebx
push eax
push esi
push esi
lea ecx, [ebp - 0x88]
call fcn.00466de8
push esi
lea eax, [ebp - 0x88]
push eax
lea esi, [ebp - 0x94]
mov byte [ebp - 4], 2
call fcn.004489ad
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.00401984
lea eax, [ebp - 0x14]
push 0x4a90c8
lea ecx, [edi + 8]
push eax
call fcn.00404afb
mov esi, 0x4a7f84
push esi
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 4
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.0040157b
mov ecx, dword [ebp - 0x20]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
cmp dword [0x4cc134], ebx
je 0x4081a2
push dword [edi + 4]
lea eax, [edi + 0x18]
push eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00455a43
add esp, 0xc
lea ecx, [ebp - 0x10]
push str.URLCR:
push ecx
mov ecx, eax
mov byte [ebp - 4], 6
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 7
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 8
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x1c]
mov ecx, ebx
call fcn.00456b20
push dword [edi + 4]
test eax, eax
lea eax, [ebp - 0x1c]
je 0x40816c
push dword [ebp - 0x20]
push eax
call fcn.00455a43
add esp, 0xc
lea ecx, [ebp - 0x10]
push str.URLsavCR:
push ecx
mov ecx, eax
mov byte [ebp - 4], 9
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xa
call fcn.0040145d
add esp, 0x14
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x18]
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
jmp 0x40825e
push ebx
push eax
call fcn.00455a43
add esp, 0xc
lea ecx, [ebp - 0x10]
push str.URLsavCR:
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xd
call fcn.0040145d
add esp, 0x14
mov byte [ebp - 4], 0xe
jmp 0x408141
lea eax, [ebp - 0x10]
lea ecx, [edi + 0x18]
push str.URL
push eax
mov dword [ebp - 0x20], ecx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0xf
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x10
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x1c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
push 0x4a90ec
lea eax, [ebp - 0x10]
push eax
je 0x408226
mov ecx, dword [ebp - 0x20]
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x11
call fcn.0040145d
add esp, 0x14
mov byte [ebp - 4], 0x12
jmp 0x408243
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x13
call fcn.0040145d
add esp, 0x14
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x18]
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea eax, [ebp - 0x10]
push 0x4a90f4
lea ecx, [edi + 0x4c]
push eax
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x15
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x16
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x58]
mov ecx, dword [edi + 0x5c]
mov edx, eax
or edx, ecx
je 0x408322
push ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00459d20
add esp, 0xc
lea ecx, [ebp - 0x10]
push 0x4a90fc
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x18
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x19
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov edx, eax
or edx, ecx
je 0x408394
push ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00459d20
add esp, 0xc
lea ecx, [ebp - 0x10]
push 0x4a9104
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x1a
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x1b
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1c
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x68]
mov ecx, dword [edi + 0x6c]
mov edx, eax
or edx, ecx
je 0x408406
push ecx
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00459d20
add esp, 0xc
lea ecx, [ebp - 0x10]
push 0x4a910c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x1d
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x1e
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1f
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x8c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408460
lea eax, [ebp - 0x10]
push 0x4a9114
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x20
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x21
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x90]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4084ba
lea eax, [ebp - 0x10]
push 0x4a911c
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x22
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x23
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x7c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408511
lea eax, [ebp - 0x10]
push 0x4a9128
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x24
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x25
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x94]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x40856b
lea eax, [ebp - 0x10]
push 0x4a9134
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x26
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x27
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x80]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4085c5
lea eax, [ebp - 0x10]
push str.Pct
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x28
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x29
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x84]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x40861f
lea eax, [ebp - 0x10]
push 0x4a9144
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x2a
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2b
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x98]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408679
lea eax, [ebp - 0x10]
push 0x4a9150
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x2c
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x2d
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x9c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4086f0
push eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.00455a43
add esp, 0xc
lea ecx, [ebp - 0x10]
push 0x4a9158
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x2e
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x2f
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x30
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xa0]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x40874a
lea eax, [ebp - 0x10]
push 0x4a9160
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x31
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x32
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xa4]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4087a4
lea eax, [ebp - 0x10]
push 0x4a916c
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x33
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x34
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xa8]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4087fe
lea eax, [ebp - 0x10]
push 0x4a9178
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x35
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x36
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xac]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408858
lea eax, [ebp - 0x10]
push 0x4a9180
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x37
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x38
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x88]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4088b2
lea eax, [ebp - 0x10]
push 0x4a918c
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x39
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x3a
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xb0]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x40890c
lea eax, [ebp - 0x10]
push 0x4a9198
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x3b
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x3c
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xb4]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408966
lea eax, [ebp - 0x10]
push 0x4a91a0
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x3d
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x3e
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xb8]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x4089c0
lea eax, [ebp - 0x10]
push 0x4a91ac
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x3f
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x40
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xbc]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408a1a
lea eax, [ebp - 0x10]
push str.MD5
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x41
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x42
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xcc]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408a74
lea eax, [ebp - 0x10]
push 0x4a91bc
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x43
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x44
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xd0]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408ace
lea eax, [ebp - 0x10]
push 0x4a91d0
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x45
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x46
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xc4]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408b45
push eax
lea eax, [ebp - 0x1c]
push ebx
push eax
call fcn.00455a43
add esp, 0xc
lea ecx, [ebp - 0x10]
push 0x4a91e4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x47
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x48
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x49
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xc0]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408b9f
lea eax, [ebp - 0x10]
push 0x4a91f0
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x4a
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4b
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0xc8]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408bf9
lea eax, [ebp - 0x10]
push 0x4a91fc
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x4c
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4d
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x54]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408c50
lea eax, [ebp - 0x10]
push 0x4a9204
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x4e
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x4f
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x1afc]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408caa
lea eax, [ebp - 0x10]
push 0x4a9210
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x50
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x51
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x1b00]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408d04
lea eax, [ebp - 0x10]
push 0x4a921c
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x52
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x53
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x2c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408d5b
lea eax, [ebp - 0x10]
push 0x4a9224
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x54
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x55
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x34]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408db2
lea eax, [ebp - 0x10]
push 0x4a9234
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x56
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x57
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x3c]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408e09
lea eax, [ebp - 0x10]
push 0x4a9248
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x58
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x59
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x40]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408e60
lea eax, [ebp - 0x10]
push 0x4a9258
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x5a
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x5b
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
lea ebx, [edi + 0x44]
mov ecx, ebx
call fcn.00456b20
test eax, eax
jne 0x408eb7
lea eax, [ebp - 0x10]
push 0x4a9268
push eax
mov ecx, ebx
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x5c
call fcn.0040145d
add esp, 0x14
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x5d
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x48]
test eax, eax
jbe 0x408f20
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457807
lea ecx, [ebp - 0x10]
push 0x4a9278
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x5e
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x5f
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x60
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xdc]
test eax, eax
je 0x408f8c
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9288
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x61
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x62
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x63
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xe0]
test eax, eax
je 0x408ff8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push str.FML
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x64
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x65
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x66
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xe4]
test eax, eax
je 0x409064
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9298
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x67
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x68
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x69
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xe8]
test eax, eax
je 0x4090d0
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92a4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x6a
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x6b
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x6c
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xec]
test eax, eax
je 0x40913c
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92b4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x6d
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x6e
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x6f
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xf0]
test eax, eax
je 0x4091a8
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92c0
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x70
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x71
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x72
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xf4]
test eax, eax
je 0x409214
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92c8
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x73
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x74
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x75
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0xfc]
test eax, eax
je 0x409280
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92d4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x76
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x77
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x78
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x100]
test eax, eax
je 0x4092ec
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92e4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x79
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x7a
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x7b
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x10c]
test eax, eax
jle 0x409358
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a92f4
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x7c
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x7d
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x7e
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x110]
cmp eax, 3
je 0x4093c5
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9300
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x7f
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x80
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x81
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x114]
test eax, eax
jl 0x409431
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a930c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x82
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x83
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x84
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x1b04]
test eax, eax
jl 0x40949d
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9314
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x85
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x86
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x87
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x118]
test eax, eax
je 0x409509
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9320
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x88
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x89
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x8a
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x1b08]
test eax, eax
jle 0x409575
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a932c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x8b
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x8c
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x8d
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
push dword [edi + 0x104]
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a9334
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x8e
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x8f
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x90
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x360]
or ebx, 0xffffffff
cmp eax, ebx
je 0x40964b
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push str.WinX
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x91
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x92
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x93
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x364]
cmp eax, ebx
je 0x4096b7
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push str.WinY
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x94
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x95
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x96
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x368]
cmp eax, ebx
je 0x409723
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push str.WinW
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x97
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x98
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x99
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x36c]
cmp eax, ebx
je 0x40978f
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push str.WinH
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x9a
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x9b
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x9c
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [edi + 0x11c]
test eax, eax
je 0x409b55
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x10]
push 0x4a935c
push ecx
mov ecx, eax
mov byte [ebp - 4], 0x9d
call fcn.00404afb
push esi
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x9e
call fcn.0040145d
add esp, 0x1c
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x9f
call fcn.0040157b
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x10]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.00401755
and dword [ebp - 0x10], 0
and dword [ebp - 0x14], 0
lea eax, [edi + 0x120]
mov dword [ebp - 0x1c], eax
mov ebx, 0x4a8f18
cmp dword [0x4cc134], 0
mov ecx, dword [ebp - 0x1c]
je 0x4098fb
call fcn.00456b20
test eax, eax
jne 0x4099a8
mov eax, dword [edi + 4]
add eax, dword [ebp - 0x14]
push eax
push dword [ebp - 0x1c]
lea eax, [ebp - 0x64]
push eax
call fcn.00455a43
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xa0
push dword [ebp - 0x10]
lea eax, [ebp - 0x3c]
push eax
call fcn.00457830
lea ecx, [ebp - 0x74]
push 0x4a9370
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xa1
call fcn.00404afb
push str.CR:
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0xa2
call fcn.0040145d
add esp, 0x1c
push dword [ebp - 0x24]
mov byte [ebp - 4], 0xa3
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.004030df
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 4], 0xa4
call fcn.0040145d
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xa5
call fcn.0040157b
mov ecx, dword [ebp - 0x6c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x5c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x34]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x74]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x3c]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x64]
jmp 0x4099a0
call fcn.00456b20
test eax, eax
jne 0x4099a8
push dword [ebp - 0x10]
lea eax, [ebp - 0x54]
push eax
call fcn.00457830
lea ecx, [ebp - 0x28]
push 0x4a9370
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xa6
call fcn.00404afb
push ebx
push eax
lea eax, [ebp - 0x4c]
push eax
mov byte [ebp - 4], 0xa7
call fcn.0040145d
add esp, 0x1c
mov byte [ebp - 4], 0xa8
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004030df
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0xa9
call fcn.0040145d
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xaa
call fcn.0040157b
mov ecx, dword [ebp - 0x44]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x80]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x4c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x28]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x54]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x1c]
add ecx, 0x40
call fcn.00456b20
test eax, eax
jne 0x409a5f
push dword [ebp - 0x10]
lea eax, [ebp - 0x40]
push eax
call fcn.00457830
lea ecx, [ebp - 0x38]
push str.AltU
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xab
call fcn.00404afb
push ebx
push eax
lea eax, [ebp - 0x30]
push eax
mov byte [ebp - 4], 0xac
call fcn.0040145d
add esp, 0x1c
mov byte [ebp - 4], 0xad
mov ecx, dword [ebp - 0x1c]
add ecx, 0x40
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004030df
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 0xae
call fcn.0040145d
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xaf
call fcn.0040157b
mov ecx, dword [ebp - 0x7c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x30]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x38]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x40]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x1c]
add ecx, 0x80
call fcn.00456b20
test eax, eax
jne 0x409b3d
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0x80
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00455a43
add esp, 0xc
mov dword [ebp - 0x24], eax
mov byte [ebp - 4], 0xb0
push dword [ebp - 0x10]
lea eax, [ebp - 0x68]
push eax
call fcn.00457830
lea ecx, [ebp - 0x60]
push str.AltP
push ecx
mov ecx, eax
mov byte [ebp - 4], 0xb1
call fcn.00404afb
push ebx
push eax
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0xb2
call fcn.0040145d
add esp, 0x1c
push dword [ebp - 0x24]
mov byte [ebp - 4], 0xb3
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.004030df
add esp, 0xc
push esi
push eax
lea eax, [ebp - 0x48]
push eax
mov byte [ebp - 4], 0xb4
call fcn.0040145d
add esp, 0xc
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xb5
call fcn.0040157b
mov ecx, dword [ebp - 0x48]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x50]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x58]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x60]
add ecx, 0xfffffff0
call fcn.00401755
mov ecx, dword [ebp - 0x68]
add ecx, 0xfffffff0
call fcn.00401755
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x70]
add ecx, 0xfffffff0
call fcn.00401755
inc dword [ebp - 0x10]
add dword [ebp - 0x1c], 4
add dword [ebp - 0x14], 0xa
cmp dword [ebp - 0x14], 0xa0
jl 0x409815
mov ecx, dword [ebp - 0x20]
call fcn.00456b20
test eax, eax
je 0x409b69
lea ecx, [ebp - 0x18]
call fcn.00401984
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x18]
push eax
call fcn.00401a22
lea ecx, [ebp - 0x94]
mov dword [ebp - 0x78], 1
mov byte [ebp - 4], 2
call fcn.00448a35
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 1
call fcn.00466e33
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.00401755
mov eax, dword [ebp + 8]
call fcn.0048271b
ret 4