Function at 0x4070f0
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x5109de
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x5566e0]
xor eax, esp
push eax
lea eax, [esp + 0x10]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0xc], esi
mov dword [esi], vtable.CISSDlg.0
lea ecx, [esi + 0x2fb8]
mov dword [esp + 0x18], 0x83
call fcn.004c88f6
lea ecx, [esi + 0x2f9c]
mov byte [esp + 0x18], 0x82
mov dword [ecx], vtable.CMenu.0
call fcn.004cb257
mov byte [esp + 0x18], 0x81
mov eax, dword [esi + 0x2f94]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x40716f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x2f40]
mov byte [esp + 0x18], 0x80
call fcn.004c88a0
lea ecx, [esi + 0x2eec]
mov byte [esp + 0x18], 0x7f
call fcn.004c77d0
mov eax, dword [esi + 0x2ee0]
xor ebx, ebx
cmp eax, ebx
je 0x4071a4
push eax
call fcn.004c1fcb
add esp, 4
lea ecx, [esi + 0x2e88]
mov dword [esi + 0x2ee0], ebx
mov dword [esi + 0x2ee4], ebx
mov dword [esi + 0x2ee8], ebx
mov byte [esp + 0x18], 0x7d
call fcn.004c88f6
lea ecx, [esi + 0x2e34]
mov byte [esp + 0x18], 0x7c
call fcn.004c88a0
lea ecx, [esi + 0x2de0]
mov byte [esp + 0x18], 0x7b
call fcn.004c88a0
lea ecx, [esi + 0x2d8c]
mov byte [esp + 0x18], 0x7a
call fcn.004c88a0
lea ecx, [esi + 0x2d38]
mov byte [esp + 0x18], 0x79
call fcn.004c88a0
lea ecx, [esi + 0x2ce4]
mov byte [esp + 0x18], 0x78
call fcn.004c88a0
lea ecx, [esi + 0x2c90]
mov byte [esp + 0x18], 0x77
call fcn.004c88a0
lea ecx, [esi + 0x2c3c]
mov byte [esp + 0x18], 0x76
call fcn.004c88a0
lea ecx, [esi + 0x2be8]
mov byte [esp + 0x18], 0x75
call fcn.004c88a0
lea ecx, [esi + 0x2b94]
mov byte [esp + 0x18], 0x74
call fcn.004c88a0
lea ecx, [esi + 0x2b40]
mov byte [esp + 0x18], 0x73
call fcn.004c88f6
lea ecx, [esi + 0x2aec]
mov byte [esp + 0x18], 0x72
call fcn.004c88f6
lea ecx, [esi + 0x2a98]
mov byte [esp + 0x18], 0x71
call fcn.004c88f6
lea ecx, [esi + 0x2a44]
mov byte [esp + 0x18], 0x70
call fcn.004c88f6
lea ecx, [esi + 0x29f0]
mov byte [esp + 0x18], 0x6f
call fcn.004c88f6
lea ecx, [esi + 0x299c]
mov byte [esp + 0x18], 0x6e
call fcn.004c88f6
lea ecx, [esi + 0x2948]
mov byte [esp + 0x18], 0x6d
call fcn.004c88f6
lea ecx, [esi + 0x28f4]
mov byte [esp + 0x18], 0x6c
call fcn.004c88f6
lea ecx, [esi + 0x28a0]
mov byte [esp + 0x18], 0x6b
call fcn.004c88f6
lea ecx, [esi + 0x284c]
mov byte [esp + 0x18], 0x6a
call fcn.004c7590
lea ecx, [esi + 0x27f8]
mov byte [esp + 0x18], 0x69
call fcn.004c88f6
lea ecx, [esi + 0x27a4]
mov byte [esp + 0x18], 0x68
call fcn.004c88f6
lea ecx, [esi + 0x2750]
mov byte [esp + 0x18], 0x67
call fcn.004c88f6
lea ecx, [esi + 0x26fc]
mov byte [esp + 0x18], 0x66
call fcn.004c88f6
mov eax, dword [esi + 0x26f0]
cmp eax, ebx
je 0x407349
push eax
call fcn.004c1fcb
add esp, 4
mov dword [esi + 0x26f0], ebx
mov dword [esi + 0x26f4], ebx
mov dword [esi + 0x26f8], ebx
mov eax, dword [esi + 0x26e0]
cmp eax, ebx
je 0x40736e
push eax
call fcn.004c1fcb
add esp, 4
lea ecx, [esi + 0x2580]
mov dword [esi + 0x26e0], ebx
mov dword [esi + 0x26e4], ebx
mov dword [esi + 0x26e8], ebx
mov byte [esp + 0x18], 0x63
call fcn.004c88f6
lea ecx, [esi + 0x252c]
mov byte [esp + 0x18], 0x62
call fcn.004c88f6
lea ecx, [esi + 0x24d8]
mov byte [esp + 0x18], 0x61
call fcn.004c88f6
lea ecx, [esi + 0x2484]
mov byte [esp + 0x18], 0x60
call fcn.004c88f6
lea ecx, [esi + 0x2430]
mov byte [esp + 0x18], 0x5f
call fcn.004c88f6
lea ecx, [esi + 0x23dc]
mov byte [esp + 0x18], 0x5e
call fcn.004c88f6
lea ecx, [esi + 0x2388]
mov byte [esp + 0x18], 0x5d
call fcn.004c88f6
lea ecx, [esi + 0x2334]
mov byte [esp + 0x18], 0x5c
call fcn.004c88f6
lea ecx, [esi + 0x22e0]
mov byte [esp + 0x18], 0x5b
call fcn.004c88f6
lea ecx, [esi + 0x228c]
mov byte [esp + 0x18], 0x5a
call fcn.004c88f6
lea ecx, [esi + 0x2238]
mov byte [esp + 0x18], 0x59
call fcn.004c88f6
lea ecx, [esi + 0x21e4]
mov byte [esp + 0x18], 0x58
call fcn.004c88f6
lea ecx, [esi + 0x2190]
mov byte [esp + 0x18], 0x57
call fcn.004c88f6
lea ecx, [esi + 0x213c]
mov byte [esp + 0x18], 0x56
call fcn.004c88f6
lea ecx, [esi + 0x20e8]
mov byte [esp + 0x18], 0x55
call fcn.004c88f6
lea ecx, [esi + 0x2094]
mov byte [esp + 0x18], 0x54
call fcn.004c88f6
lea ecx, [esi + 0x2040]
mov byte [esp + 0x18], 0x53
call fcn.004c88f6
lea ecx, [esi + 0x1fec]
mov byte [esp + 0x18], 0x52
call fcn.004c88f6
lea ecx, [esi + 0x1f98]
mov byte [esp + 0x18], 0x51
call fcn.004c88f6
lea ecx, [esi + 0x1f44]
mov byte [esp + 0x18], 0x50
call fcn.004c88f6
lea ecx, [esi + 0x1ef0]
mov byte [esp + 0x18], 0x4f
call fcn.004c88f6
lea ecx, [esi + 0x1e9c]
mov byte [esp + 0x18], 0x4e
call fcn.004c88f6
lea ecx, [esi + 0x1e48]
mov byte [esp + 0x18], 0x4d
call fcn.004c88f6
lea ecx, [esi + 0x1df4]
mov byte [esp + 0x18], 0x4c
call fcn.004c88f6
lea ecx, [esi + 0x1da0]
mov byte [esp + 0x18], 0x4b
call fcn.004c88f6
lea ecx, [esi + 0x1d4c]
mov byte [esp + 0x18], 0x4a
call fcn.004c88f6
lea ecx, [esi + 0x1cf8]
mov byte [esp + 0x18], 0x49
call fcn.004c88f6
lea ecx, [esi + 0x1ca4]
mov byte [esp + 0x18], 0x48
call fcn.004c88f6
lea ecx, [esi + 0x1c50]
mov byte [esp + 0x18], 0x47
call fcn.004c88f6
lea ecx, [esi + 0x1bfc]
mov byte [esp + 0x18], 0x46
call fcn.004c88f6
lea ecx, [esi + 0x1ba8]
mov byte [esp + 0x18], 0x45
call fcn.004c88f6
lea ecx, [esi + 0x1b54]
mov byte [esp + 0x18], 0x44
call fcn.004c88f6
lea ecx, [esi + 0x1b00]
mov byte [esp + 0x18], 0x43
call fcn.004c88f6
lea ecx, [esi + 0x1aac]
mov byte [esp + 0x18], 0x42
call fcn.004c88f6
lea ecx, [esi + 0x1a58]
mov byte [esp + 0x18], 0x41
call fcn.004c88f6
lea ecx, [esi + 0x1a04]
mov byte [esp + 0x18], 0x40
call fcn.004c88f6
lea ecx, [esi + 0x19b0]
mov byte [esp + 0x18], 0x3f
call fcn.004c88f6
lea ecx, [esi + 0x195c]
mov byte [esp + 0x18], 0x3e
call fcn.004c88f6
lea ecx, [esi + 0x1908]
mov byte [esp + 0x18], 0x3d
call fcn.004c88f6
lea ecx, [esi + 0x18b4]
mov byte [esp + 0x18], 0x3c
call fcn.004c88f6
lea ecx, [esi + 0x1860]
mov byte [esp + 0x18], 0x3b
call fcn.004c88f6
lea ecx, [esi + 0x180c]
mov byte [esp + 0x18], 0x3a
call fcn.004c88f6
lea ecx, [esi + 0x17b8]
mov byte [esp + 0x18], 0x39
call fcn.004c88f6
lea ecx, [esi + 0x1764]
mov byte [esp + 0x18], 0x38
call fcn.004c88f6
lea ecx, [esi + 0x1710]
mov byte [esp + 0x18], 0x37
call fcn.004c88f6
lea ecx, [esi + 0x16bc]
mov byte [esp + 0x18], 0x36
call fcn.004c88f6
lea ecx, [esi + 0x1668]
mov byte [esp + 0x18], 0x35
call fcn.004c88f6
lea ecx, [esi + 0x1614]
mov byte [esp + 0x18], 0x34
call fcn.004c88f6
lea ecx, [esi + 0x15c0]
mov byte [esp + 0x18], 0x33
call fcn.004c88f6
lea ecx, [esi + 0x156c]
mov byte [esp + 0x18], 0x32
call fcn.004c88f6
lea ecx, [esi + 0x1518]
mov byte [esp + 0x18], 0x31
call fcn.004c88f6
lea ecx, [esi + 0x14c4]
mov byte [esp + 0x18], 0x30
call fcn.004c88f6
lea ecx, [esi + 0x1470]
mov byte [esp + 0x18], 0x2f
call fcn.004c88f6
lea ecx, [esi + 0x141c]
mov byte [esp + 0x18], 0x2e
call fcn.004c88f6
lea ecx, [esi + 0x13c8]
mov byte [esp + 0x18], 0x2d
call fcn.004c88f6
lea ecx, [esi + 0x1374]
mov byte [esp + 0x18], 0x2c
call fcn.004c88f6
lea ecx, [esi + 0x1320]
mov byte [esp + 0x18], 0x2b
call fcn.004c88f6
lea ecx, [esi + 0x12cc]
mov byte [esp + 0x18], 0x2a
call fcn.004c88f6
lea ecx, [esi + 0x1278]
mov byte [esp + 0x18], 0x29
call fcn.004c88f6
lea ecx, [esi + 0x1224]
mov byte [esp + 0x18], 0x28
call fcn.004c88f6
lea ecx, [esi + 0x11d0]
mov byte [esp + 0x18], 0x27
call fcn.004c88f6
lea ecx, [esi + 0x117c]
mov byte [esp + 0x18], 0x26
call fcn.004c88f6
lea ecx, [esi + 0x1128]
mov byte [esp + 0x18], 0x25
call fcn.004c88f6
lea ecx, [esi + 0x10d4]
mov byte [esp + 0x18], 0x24
call fcn.004c88f6
lea ecx, [esi + 0x1078]
mov byte [esp + 0x18], 0x23
call fcn.004c88f6
lea ecx, [esi + 0x1024]
mov byte [esp + 0x18], 0x22
call fcn.004c88f6
lea ecx, [esi + 0xfd0]
mov byte [esp + 0x18], 0x21
call fcn.004c88f6
lea ecx, [esi + 0xf7c]
mov byte [esp + 0x18], 0x20
call fcn.004c88f6
lea ecx, [esi + 0xf28]
mov byte [esp + 0x18], 0x1f
call fcn.004c88f6
lea ecx, [esi + 0xed4]
mov byte [esp + 0x18], 0x1e
call fcn.004c88f6
lea ecx, [esi + 0xe28]
mov byte [esp + 0x18], 0x1d
call fcn.004c88a0
lea ecx, [esi + 0xdd4]
mov byte [esp + 0x18], 0x1c
call fcn.004c88a0
lea ecx, [esi + 0xd80]
mov byte [esp + 0x18], 0x1b
call fcn.004c88a0
mov byte [esp + 0x18], 0x1a
mov eax, dword [esi + 0xd7c]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407837
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0xd58]
cmp eax, ebx
mov dword [esi + 0xd54], 0x52b5f4
je 0x407854
push eax
call fcn.004c1fcb
add esp, 4
lea ecx, [esi + 0xd00]
mov byte [esp + 0x18], 0x18
call fcn.004c88f6
lea ecx, [esi + 0xcac]
mov byte [esp + 0x18], 0x17
call fcn.004c88f6
lea ecx, [esi + 0xc58]
mov byte [esp + 0x18], 0x16
call fcn.004c88f6
lea ecx, [esi + 0xc04]
mov byte [esp + 0x18], 0x15
call fcn.004c88f6
lea ecx, [esi + 0xbb0]
mov byte [esp + 0x18], 0x14
call fcn.004c88f6
lea ecx, [esi + 0xb5c]
mov byte [esp + 0x18], 0x13
call fcn.004c88f6
lea ecx, [esi + 0xb08]
mov byte [esp + 0x18], 0x12
call fcn.004c88f6
lea ecx, [esi + 0xab4]
mov byte [esp + 0x18], 0x11
call fcn.004c88f6
lea ecx, [esi + 0xa60]
mov byte [esp + 0x18], 0x10
call fcn.004c88f6
lea ecx, [esi + 0xa0c]
mov byte [esp + 0x18], 0xf
call fcn.004c88f6
lea ecx, [esi + 0x9b8]
mov byte [esp + 0x18], 0xe
call fcn.004c88f6
lea ecx, [esi + 0x964]
mov byte [esp + 0x18], 0xd
call fcn.004c88f6
lea ecx, [esi + 0x910]
mov byte [esp + 0x18], 0xc
call fcn.004c88f6
lea ecx, [esi + 0x8bc]
mov byte [esp + 0x18], 0xb
call fcn.004c88f6
lea ecx, [esi + 0x868]
mov byte [esp + 0x18], 0xa
call fcn.004c88f6
lea ecx, [esi + 0x814]
mov byte [esp + 0x18], 9
call fcn.004c88f6
lea ecx, [esi + 0x7c0]
mov byte [esp + 0x18], 8
call fcn.004c88f6
lea ecx, [esi + 0x76c]
mov byte [esp + 0x18], 7
call fcn.004c88f6
lea ecx, [esi + 0x718]
mov byte [esp + 0x18], 6
call fcn.004c88f6
lea ecx, [esi + 0x6c4]
mov byte [esp + 0x18], 5
call fcn.004c7832
lea ecx, [esi + 0x154]
mov byte [esp + 0x18], 4
call fcn.004c8ccb
mov byte [esp + 0x18], 3
mov eax, dword [esi + 0x150]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4079cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x124]
mov byte [esp + 0x18], 2
mov dword [ecx], vtable.CMenu.0
call fcn.004cb257
lea ecx, [esi + 0xdc]
mov byte [esp + 0x18], 1
call fcn.004c7ee4
lea ecx, [esi + 0x78]
mov byte [esp + 0x18], bl
call fcn.004c7917
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004c5d40
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x10
ret