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

Disassembly:
push 0xffffffffffffffff
push 0x5cd423
mov eax, dword fs:[0]
push eax
push ecx
push ebx
push esi
mov eax, dword [0x628560]
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 + 0x3430]
mov dword [esp + 0x18], 0x92
call fcn.004da7f9
lea ecx, [esi + 0x33dc]
mov byte [esp + 0x18], 0x91
call fcn.004da7f9
lea ecx, [esi + 0x3388]
mov byte [esp + 0x18], 0x90
call fcn.004da7f9
lea ecx, [esi + 0x3334]
mov byte [esp + 0x18], 0x8f
call fcn.004da7f9
mov byte [esp + 0x18], 0x8e
lea ecx, [esi + 0x32e0]
call fcn.004da7f9
lea ecx, [esi + 0x328c]
mov byte [esp + 0x18], 0x8d
call fcn.004da7f9
lea ecx, [esi + 0x3238]
mov byte [esp + 0x18], 0x8c
call fcn.004da7f9
lea ecx, [esi + 0x31e4]
mov byte [esp + 0x18], 0x8b
call fcn.004da7f9
lea ecx, [esi + 0x3190]
mov byte [esp + 0x18], 0x8a
call fcn.004da7f9
lea ecx, [esi + 0x313c]
mov byte [esp + 0x18], 0x89
call fcn.004da7f9
lea ecx, [esi + 0x30e8]
mov byte [esp + 0x18], 0x88
call fcn.004da7f9
lea ecx, [esi + 0x3094]
mov byte [esp + 0x18], 0x87
call fcn.004da7f9
lea ecx, [esi + 0x3040]
mov byte [esp + 0x18], 0x86
call fcn.004da7f9
lea ecx, [esi + 0x2fec]
mov byte [esp + 0x18], 0x85
call fcn.004da7f9
lea ecx, [esi + 0x2f98]
mov byte [esp + 0x18], 0x84
call fcn.004da7f9
lea ecx, [esi + 0x2f38]
mov byte [esp + 0x18], 0x83
call fcn.004da7f9
lea ecx, [esi + 0x2f1c]
mov byte [esp + 0x18], 0x82
mov dword [ecx], vtable.CMenu.0
call fcn.004dd14f
mov byte [esp + 0x18], 0x81
mov eax, dword [esi + 0x2f14]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4072af
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0x2ec0]
mov byte [esp + 0x18], 0x80
call fcn.004da7a6
lea ecx, [esi + 0x2e6c]
mov byte [esp + 0x18], 0x7f
call fcn.004d9822
mov eax, dword [esi + 0x2e60]
xor ebx, ebx
cmp eax, ebx
je 0x4072e4
push eax
call fcn.004d401b
add esp, 4
lea ecx, [esi + 0x2e08]
mov dword [esi + 0x2e60], ebx
mov dword [esi + 0x2e64], ebx
mov dword [esi + 0x2e68], ebx
mov byte [esp + 0x18], 0x7d
call fcn.004da7f9
lea ecx, [esi + 0x2db4]
mov byte [esp + 0x18], 0x7c
call fcn.004da7a6
lea ecx, [esi + 0x2d60]
mov byte [esp + 0x18], 0x7b
call fcn.004da7a6
lea ecx, [esi + 0x2d0c]
mov byte [esp + 0x18], 0x7a
call fcn.004da7a6
lea ecx, [esi + 0x2cb8]
mov byte [esp + 0x18], 0x79
call fcn.004da7a6
lea ecx, [esi + 0x2c64]
mov byte [esp + 0x18], 0x78
call fcn.004da7a6
lea ecx, [esi + 0x2c10]
mov byte [esp + 0x18], 0x77
call fcn.004da7a6
lea ecx, [esi + 0x2bbc]
mov byte [esp + 0x18], 0x76
call fcn.004da7a6
lea ecx, [esi + 0x2b68]
mov byte [esp + 0x18], 0x75
call fcn.004da7a6
lea ecx, [esi + 0x2b14]
mov byte [esp + 0x18], 0x74
call fcn.004da7a6
lea ecx, [esi + 0x2ac0]
mov byte [esp + 0x18], 0x73
call fcn.004da7f9
lea ecx, [esi + 0x2a6c]
mov byte [esp + 0x18], 0x72
call fcn.004da7f9
lea ecx, [esi + 0x2a18]
mov byte [esp + 0x18], 0x71
call fcn.004da7f9
lea ecx, [esi + 0x29c4]
mov byte [esp + 0x18], 0x70
call fcn.004da7f9
lea ecx, [esi + 0x2970]
mov byte [esp + 0x18], 0x6f
call fcn.004da7f9
lea ecx, [esi + 0x291c]
mov byte [esp + 0x18], 0x6e
call fcn.004da7f9
lea ecx, [esi + 0x28c8]
mov byte [esp + 0x18], 0x6d
call fcn.004da7f9
lea ecx, [esi + 0x2874]
mov byte [esp + 0x18], 0x6c
call fcn.004da7f9
lea ecx, [esi + 0x2820]
mov byte [esp + 0x18], 0x6b
call fcn.004da7f9
lea ecx, [esi + 0x27cc]
mov byte [esp + 0x18], 0x6a
call fcn.004da7f9
lea ecx, [esi + 0x2778]
mov byte [esp + 0x18], 0x69
call fcn.004d95e2
lea ecx, [esi + 0x2724]
mov byte [esp + 0x18], 0x68
call fcn.004da7f9
lea ecx, [esi + 0x26d0]
mov byte [esp + 0x18], 0x67
call fcn.004da7f9
lea ecx, [esi + 0x267c]
mov byte [esp + 0x18], 0x66
call fcn.004da7f9
lea ecx, [esi + 0x2628]
mov byte [esp + 0x18], 0x65
call fcn.004da7f9
mov eax, dword [esi + 0x261c]
cmp eax, ebx
je 0x407499
push eax
call fcn.004d401b
add esp, 4
mov dword [esi + 0x261c], ebx
mov dword [esi + 0x2620], ebx
mov dword [esi + 0x2624], ebx
mov eax, dword [esi + 0x260c]
cmp eax, ebx
je 0x4074be
push eax
call fcn.004d401b
add esp, 4
lea ecx, [esi + 0x252c]
mov dword [esi + 0x260c], ebx
mov dword [esi + 0x2610], ebx
mov dword [esi + 0x2614], ebx
mov byte [esp + 0x18], 0x62
call fcn.004da7f9
lea ecx, [esi + 0x24d8]
mov byte [esp + 0x18], 0x61
call fcn.004da7f9
lea ecx, [esi + 0x2484]
mov byte [esp + 0x18], 0x60
call fcn.004da7f9
lea ecx, [esi + 0x2430]
mov byte [esp + 0x18], 0x5f
call fcn.004da7f9
lea ecx, [esi + 0x23dc]
mov byte [esp + 0x18], 0x5e
call fcn.004da7f9
lea ecx, [esi + 0x2388]
mov byte [esp + 0x18], 0x5d
call fcn.004da7f9
lea ecx, [esi + 0x2334]
mov byte [esp + 0x18], 0x5c
call fcn.004da7f9
lea ecx, [esi + 0x22e0]
mov byte [esp + 0x18], 0x5b
call fcn.004da7f9
lea ecx, [esi + 0x228c]
mov byte [esp + 0x18], 0x5a
call fcn.004da7f9
lea ecx, [esi + 0x2238]
mov byte [esp + 0x18], 0x59
call fcn.004da7f9
lea ecx, [esi + 0x21e4]
mov byte [esp + 0x18], 0x58
call fcn.004da7f9
lea ecx, [esi + 0x2190]
mov byte [esp + 0x18], 0x57
call fcn.004da7f9
lea ecx, [esi + 0x213c]
mov byte [esp + 0x18], 0x56
call fcn.004da7f9
lea ecx, [esi + 0x20e8]
mov byte [esp + 0x18], 0x55
call fcn.004da7f9
lea ecx, [esi + 0x2094]
mov byte [esp + 0x18], 0x54
call fcn.004da7f9
lea ecx, [esi + 0x2040]
mov byte [esp + 0x18], 0x53
call fcn.004da7f9
lea ecx, [esi + 0x1fec]
mov byte [esp + 0x18], 0x52
call fcn.004da7f9
lea ecx, [esi + 0x1f98]
mov byte [esp + 0x18], 0x51
call fcn.004da7f9
lea ecx, [esi + 0x1f44]
mov byte [esp + 0x18], 0x50
call fcn.004da7f9
lea ecx, [esi + 0x1ef0]
mov byte [esp + 0x18], 0x4f
call fcn.004da7f9
lea ecx, [esi + 0x1e9c]
mov byte [esp + 0x18], 0x4e
call fcn.004da7f9
lea ecx, [esi + 0x1e48]
mov byte [esp + 0x18], 0x4d
call fcn.004da7f9
lea ecx, [esi + 0x1df4]
mov byte [esp + 0x18], 0x4c
call fcn.004da7f9
lea ecx, [esi + 0x1da0]
mov byte [esp + 0x18], 0x4b
call fcn.004da7f9
lea ecx, [esi + 0x1d4c]
mov byte [esp + 0x18], 0x4a
call fcn.004da7f9
lea ecx, [esi + 0x1cf8]
mov byte [esp + 0x18], 0x49
call fcn.004da7f9
lea ecx, [esi + 0x1ca4]
mov byte [esp + 0x18], 0x48
call fcn.004da7f9
lea ecx, [esi + 0x1c50]
mov byte [esp + 0x18], 0x47
call fcn.004da7f9
lea ecx, [esi + 0x1bfc]
mov byte [esp + 0x18], 0x46
call fcn.004da7f9
lea ecx, [esi + 0x1ba8]
mov byte [esp + 0x18], 0x45
call fcn.004da7f9
lea ecx, [esi + 0x1b54]
mov byte [esp + 0x18], 0x44
call fcn.004da7f9
lea ecx, [esi + 0x1b00]
mov byte [esp + 0x18], 0x43
call fcn.004da7f9
lea ecx, [esi + 0x1aac]
mov byte [esp + 0x18], 0x42
call fcn.004da7f9
lea ecx, [esi + 0x1a58]
mov byte [esp + 0x18], 0x41
call fcn.004da7f9
lea ecx, [esi + 0x1a04]
mov byte [esp + 0x18], 0x40
call fcn.004da7f9
lea ecx, [esi + 0x19b0]
mov byte [esp + 0x18], 0x3f
call fcn.004da7f9
lea ecx, [esi + 0x195c]
mov byte [esp + 0x18], 0x3e
call fcn.004da7f9
lea ecx, [esi + 0x1908]
mov byte [esp + 0x18], 0x3d
call fcn.004da7f9
lea ecx, [esi + 0x18b4]
mov byte [esp + 0x18], 0x3c
call fcn.004da7f9
lea ecx, [esi + 0x1860]
mov byte [esp + 0x18], 0x3b
call fcn.004da7f9
lea ecx, [esi + 0x180c]
mov byte [esp + 0x18], 0x3a
call fcn.004da7f9
lea ecx, [esi + 0x17b8]
mov byte [esp + 0x18], 0x39
call fcn.004da7f9
lea ecx, [esi + 0x1764]
mov byte [esp + 0x18], 0x38
call fcn.004da7f9
lea ecx, [esi + 0x1710]
mov byte [esp + 0x18], 0x37
call fcn.004da7f9
lea ecx, [esi + 0x16bc]
mov byte [esp + 0x18], 0x36
call fcn.004da7f9
lea ecx, [esi + 0x1668]
mov byte [esp + 0x18], 0x35
call fcn.004da7f9
lea ecx, [esi + 0x1614]
mov byte [esp + 0x18], 0x34
call fcn.004da7f9
lea ecx, [esi + 0x15c0]
mov byte [esp + 0x18], 0x33
call fcn.004da7f9
lea ecx, [esi + 0x156c]
mov byte [esp + 0x18], 0x32
call fcn.004da7f9
lea ecx, [esi + 0x1518]
mov byte [esp + 0x18], 0x31
call fcn.004da7f9
lea ecx, [esi + 0x14c4]
mov byte [esp + 0x18], 0x30
call fcn.004da7f9
lea ecx, [esi + 0x1470]
mov byte [esp + 0x18], 0x2f
call fcn.004da7f9
lea ecx, [esi + 0x141c]
mov byte [esp + 0x18], 0x2e
call fcn.004da7f9
lea ecx, [esi + 0x13c8]
mov byte [esp + 0x18], 0x2d
call fcn.004da7f9
lea ecx, [esi + 0x1374]
mov byte [esp + 0x18], 0x2c
call fcn.004da7f9
lea ecx, [esi + 0x1320]
mov byte [esp + 0x18], 0x2b
call fcn.004da7f9
lea ecx, [esi + 0x12cc]
mov byte [esp + 0x18], 0x2a
call fcn.004da7f9
lea ecx, [esi + 0x1278]
mov byte [esp + 0x18], 0x29
call fcn.004da7f9
lea ecx, [esi + 0x1224]
mov byte [esp + 0x18], 0x28
call fcn.004da7f9
lea ecx, [esi + 0x11d0]
mov byte [esp + 0x18], 0x27
call fcn.004da7f9
lea ecx, [esi + 0x117c]
mov byte [esp + 0x18], 0x26
call fcn.004da7f9
lea ecx, [esi + 0x1128]
mov byte [esp + 0x18], 0x25
call fcn.004da7f9
lea ecx, [esi + 0x10d4]
mov byte [esp + 0x18], 0x24
call fcn.004da7f9
lea ecx, [esi + 0x1080]
mov byte [esp + 0x18], 0x23
call fcn.004da7f9
lea ecx, [esi + 0x1024]
mov byte [esp + 0x18], 0x22
call fcn.004da7f9
lea ecx, [esi + 0xfd0]
mov byte [esp + 0x18], 0x21
call fcn.004da7f9
lea ecx, [esi + 0xf7c]
mov byte [esp + 0x18], 0x20
call fcn.004da7f9
lea ecx, [esi + 0xf28]
mov byte [esp + 0x18], 0x1f
call fcn.004da7f9
lea ecx, [esi + 0xed4]
mov byte [esp + 0x18], 0x1e
call fcn.004da7f9
lea ecx, [esi + 0xe80]
mov byte [esp + 0x18], 0x1d
call fcn.004da7f9
lea ecx, [esi + 0xdd4]
mov byte [esp + 0x18], 0x1c
call fcn.004da7a6
lea ecx, [esi + 0xd80]
mov byte [esp + 0x18], 0x1b
call fcn.004da7a6
lea ecx, [esi + 0xd2c]
mov byte [esp + 0x18], 0x1a
call fcn.004da7a6
mov byte [esp + 0x18], 0x19
mov eax, dword [esi + 0xd28]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407987
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esi + 0xd04]
cmp eax, ebx
mov dword [esi + 0xd00], 0x6066ac
je 0x4079a4
push eax
call fcn.004d401b
add esp, 4
lea ecx, [esi + 0xcac]
mov byte [esp + 0x18], 0x17
call fcn.004da7f9
lea ecx, [esi + 0xc58]
mov byte [esp + 0x18], 0x16
call fcn.004da7f9
lea ecx, [esi + 0xc04]
mov byte [esp + 0x18], 0x15
call fcn.004da7f9
lea ecx, [esi + 0xbb0]
mov byte [esp + 0x18], 0x14
call fcn.004da7f9
lea ecx, [esi + 0xb5c]
mov byte [esp + 0x18], 0x13
call fcn.004da7f9
lea ecx, [esi + 0xb08]
mov byte [esp + 0x18], 0x12
call fcn.004da7f9
lea ecx, [esi + 0xab4]
mov byte [esp + 0x18], 0x11
call fcn.004da7f9
lea ecx, [esi + 0xa60]
mov byte [esp + 0x18], 0x10
call fcn.004da7f9
lea ecx, [esi + 0xa0c]
mov byte [esp + 0x18], 0xf
call fcn.004da7f9
lea ecx, [esi + 0x9b8]
mov byte [esp + 0x18], 0xe
call fcn.004da7f9
lea ecx, [esi + 0x964]
mov byte [esp + 0x18], 0xd
call fcn.004da7f9
lea ecx, [esi + 0x910]
mov byte [esp + 0x18], 0xc
call fcn.004da7f9
lea ecx, [esi + 0x8bc]
mov byte [esp + 0x18], 0xb
call fcn.004da7f9
lea ecx, [esi + 0x868]
mov byte [esp + 0x18], 0xa
call fcn.004da7f9
lea ecx, [esi + 0x814]
mov byte [esp + 0x18], 9
call fcn.004da7f9
lea ecx, [esi + 0x7c0]
mov byte [esp + 0x18], 8
call fcn.004da7f9
lea ecx, [esi + 0x76c]
mov byte [esp + 0x18], 7
call fcn.004da7f9
lea ecx, [esi + 0x718]
mov byte [esp + 0x18], 6
call fcn.004da7f9
lea ecx, [esi + 0x6c4]
mov byte [esp + 0x18], 5
call fcn.004da7f9
lea ecx, [esi + 0x670]
mov byte [esp + 0x18], 4
call fcn.004d9884
lea ecx, [esi + 0x100]
mov byte [esp + 0x18], 3
call fcn.004dabce
mov byte [esp + 0x18], 2
mov eax, dword [esi + 0xfc]
sub eax, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x407b1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esi + 0xd0]
mov byte [esp + 0x18], 1
mov dword [ecx], vtable.CMenu.0
call fcn.004dd14f
lea ecx, [esi + 0x88]
mov byte [esp + 0x18], bl
call fcn.004d9e11
mov ecx, esi
mov dword [esp + 0x18], 0xffffffff
call fcn.004d7db1
mov ecx, dword [esp + 0x10]
mov dword fs:[0], ecx
pop ecx
pop esi
pop ebx
add esp, 0x10
ret