Function at 0x410a90
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x44f71a
mov eax, dword fs:[0]
push eax
sub esp, 0x748
mov eax, dword [0x466910]
xor eax, esp
mov dword [esp + 0x740], eax
push ebx
push esi
push edi
mov eax, dword [0x466910]
xor eax, esp
push eax
lea eax, [esp + 0x758]
mov dword fs:[0], eax
push 0x104
lea eax, [esp + 0x438]
push eax
xor ebx, ebx
push ebx
mov esi, ecx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [esp + 0x53c]
push ecx
lea edx, [esp + 0x648]
push edx
lea eax, [esp + 0x124]
push eax
lea ecx, [esp + 0x338]
push ecx
lea edx, [esp + 0x444]
push edx
call fcn.00438d28
lea eax, [esp + 0x130]
add esp, 0x14
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x410b20
mov ecx, dword [str.skins_]
mov dx, word [0x4527e0]
mov dword [eax], ecx
mov cl, byte [0x4527e2]
push 0x4527d8
mov word [eax + 4], dx
push str.skin_sens
mov byte [eax + 6], cl
lea edx, [esp + 0x124]
push edx
lea eax, [esp + 0x338]
push eax
lea ecx, [esp + 0x234]
push ecx
call fcn.00438b16
add esp, 0x14
lea edx, [esp + 0x224]
push edx
lea ecx, [esp + 0x64]
call fcn.00401dc0
mov eax, dword [esp + 0x60]
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
mov dword [esp + 0x768], ebx
call fcn.00401390
add eax, 0x10
add esp, 4
lea ecx, [esp + 0x24]
mov dword [edi], eax
call fcn.004070b0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4527d5
mov byte [esp + 0x768], 1
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Mask
mov byte [esp + 0x76c], 2
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Screen
mov byte [esp + 0x770], 3
call fcn.00401dc0
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], 1
call fcn.004071d0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4527d5
mov byte [esp + 0x768], 4
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Main
mov byte [esp + 0x76c], 5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Screen
mov byte [esp + 0x770], 6
call fcn.00401dc0
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], 4
call fcn.004071d0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4527d5
mov byte [esp + 0x768], 7
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Down
mov byte [esp + 0x76c], 8
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Screen
mov byte [esp + 0x770], 9
call fcn.00401dc0
lea edx, [esp + 0x64]
push edx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], 7
call fcn.004071d0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4527d5
mov byte [esp + 0x768], 0xa
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Over
mov byte [esp + 0x76c], 0xb
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Screen
mov byte [esp + 0x770], 0xc
call fcn.00401dc0
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], 0xa
call fcn.004071d0
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push 0x4527d5
mov byte [esp + 0x768], 0xd
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.Disabled
mov byte [esp + 0x76c], 0xe
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.Screen
mov byte [esp + 0x770], 0xf
call fcn.00401dc0
lea ecx, [esp + 0x74]
push ecx
mov byte [esp + 0x770], 0xd
lea ecx, [esp + 0x30]
call fcn.004071d0
mov eax, vtable.CBitmap.0
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], eax
push ebx
push ebx
lea edx, [esp + 0x124]
push edx
lea eax, [esp + 0x338]
push eax
lea ecx, [esp + 0x234]
push ecx
mov byte [esp + 0x774], 0x14
call fcn.00438b16
add esp, 0x14
lea edx, [esp + 0x224]
push edx
lea ecx, [esp + 0x4c]
call fcn.00401dc0
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov byte [esp + 0x76c], 0x15
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esi + 0x1a60]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x16
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410e54
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x38]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x17
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410eae
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x40]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x18
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x48]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x19
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410f62
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esp + 0x50]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x1a
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410fbc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x1c]
push eax
call fcn.004018a0
mov eax, dword [eax]
lea ecx, [esp + 0x58]
push ecx
lea edx, [esi + 0x1a44]
push edx
push eax
push ebx
mov byte [esp + 0x77c], 0x1b
call fcn.00406e70
mov eax, dword [esp + 0x30]
add eax, 0xfffffff0
add esp, 0x1c
mov byte [esp + 0x760], 0x15
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411018
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
push 1
push ecx
push edx
push ebx
push ebx
mov ecx, esi
call fcn.00422e18
call fcn.00421f35
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x411047
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x14], eax
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
mov bl, 0x1c
push 0x4527d5
mov byte [esp + 0x768], bl
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0x4527a0
mov byte [esp + 0x76c], 0x1d
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452794
mov byte [esp + 0x770], 0x1e
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x1f
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4110f1
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x1bcc]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x1bcc]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x20
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4111e5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452790
mov byte [esp + 0x76c], 0x21
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x22
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x23
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411276
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x1cc0]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x1cc0]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x24
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41136a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45278c
mov byte [esp + 0x76c], 0x25
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x26
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x27
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4113fb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x1db4]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x1db4]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x28
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4114ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452788
mov byte [esp + 0x76c], 0x29
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x2a
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x2b
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411580
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x1ea8]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x1ea8]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x2c
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411674
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452784
mov byte [esp + 0x76c], 0x2d
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x2e
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x2f
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411705
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x1f9c]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x1f9c]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x30
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4117f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452780
mov byte [esp + 0x76c], 0x31
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x32
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x33
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41188a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2090]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2090]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x34
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41197e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.765432
mov byte [esp + 0x76c], 0x35
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x36
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x37
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411a0f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2184]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2184]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x38
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411b03
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x452980
mov byte [esp + 0x76c], 0x39
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x3a
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x3b
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411b94
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2278]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2278]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x3c
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411c88
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x453eb0
mov byte [esp + 0x76c], 0x3d
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x3e
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x3f
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411d19
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x236c]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x236c]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x40
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411e0d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454998
mov byte [esp + 0x76c], 0x41
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x42
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x43
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411e9e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2460]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2460]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x44
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411f92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454994
mov byte [esp + 0x76c], 0x45
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x46
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x47
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x412023
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2554]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2554]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x48
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x412117
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454990
mov byte [esp + 0x76c], 0x49
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x4a
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x4b
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4121a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2648]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2648]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x4c
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41229c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45498c
mov byte [esp + 0x76c], 0x4d
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x4e
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x4f
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41232d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x273c]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x273c]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x50
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412412
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 1
mov ecx, edi
call fcn.00404630
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454988
mov byte [esp + 0x76c], 0x51
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x52
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x53
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4124ac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2830]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2830]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x54
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4125a0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454984
mov byte [esp + 0x76c], 0x55
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x56
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x57
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x412631
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2924]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2924]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
push 0
mov ecx, edi
call fcn.00422e9a
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x58
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41271f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 0x4527d5
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x454980
mov byte [esp + 0x76c], 0x59
call fcn.00401dc0
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x452794
mov byte [esp + 0x770], 0x5a
call fcn.00401dc0
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x30]
mov byte [esp + 0x770], bl
call fcn.004071d0
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x764], 0x5b
call fcn.004017c0
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4127b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x7c]
push ecx
push ecx
add eax, 0xfffffff0
mov dword [esp + 0x20], esp
mov edi, esp
push eax
mov dword [esp + 0x28], eax
call fcn.00401390
add eax, 0x10
add esp, 4
mov dword [edi], eax
call fcn.0040d3a0
mov edx, dword [esi + 0x2a18]
mov edx, dword [edx + 0x13c]
add esp, 8
push 0
push esi
lea eax, [esp + 0xac]
push eax
lea edi, [esi + 0x2a18]
push 0x50000000
push 0x4527d5
mov ecx, edi
call edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0xac]
lea edx, [esp + 0x40]
push edx
mov edx, dword [esp + 0xb4]
lea eax, [esp + 0x34]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xd0]
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], edx
call fcn.00404840
mov eax, dword [esp + 0x118]
push eax
mov ecx, edi
call fcn.00404810
lea ecx, [esp + 0xb4]
push ecx
lea ecx, [esp + 0x14]
call fcn.00401dc0
push 1
push eax
mov ecx, edi
mov byte [esp + 0x768], 0x5c
call fcn.00404790
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4128a8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push str.vsliderR_c.bmp
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.00402630
add esp, 0xc
mov eax, dword [eax]
push 0
push 1
push esi
sub esp, 0x10
mov dword [esp + 0x2c], eax
mov eax, esp
mov ecx, 0x73
mov dword [eax], ecx
lea edx, [ecx - 9]
mov dword [eax + 4], edx
mov ecx, 0x91
mov dword [eax + 8], ecx
mov ecx, 0x15d
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x2c]
lea edi, [esi + 0x2c00]
push ecx
mov ecx, edi
mov byte [esp + 0x780], 0x5d
call fcn.00406190
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov byte [esp + 0x760], bl
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41292d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
mov ecx, edi
call fcn.00405d90
lea eax, [esp + 0x28]
push eax
mov ecx, 0x73
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
lea edx, [ecx - 9]
lea ebx, [ecx + 0x1e]
mov dword [eax + 4], edx
mov ecx, 0x15d
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ecx
mov ecx, edi
call fcn.00405de0
push 1
push esi
lea edi, [ebx + 0x20]
sub esp, 0x10
mov eax, esp
lea ebx, [edi + 0x2d]
mov dword [eax], edi
lea edx, [ebx + 0x70]
mov dword [eax + 4], ebx
lea ecx, [edi + 0x4d]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
lea ecx, [esi + 0x2d38]
call fcn.00406300
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x2c]
push edx
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ebx
mov ecx, 0x14e
mov dword [eax + 8], ecx
mov ecx, 0xfe
mov dword [eax + 0xc], ecx
lea ecx, [esi + 0x2d38]
call fcn.00406380
push ecx
mov eax, esp
mov dword [esp + 0x1c], esp
push str.double_click.avi
lea ecx, [esp + 0x50]
push ecx
push eax
call fcn.00402630
lea ebx, [esi + 0x2ddc]
add esp, 0xc
mov ecx, ebx
call fcn.00404500
push ecx
mov edx, esp
mov dword [esp + 0x1c], esp
push str.double_click.wav
lea eax, [esp + 0x50]
push eax
push edx
call fcn.00402630
add esp, 0xc
mov ecx, ebx
call fcn.00404580
push 0
push esi
lea ecx, [esp + 0x74]
push ecx
push 0
mov ecx, ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], 0x119
mov dword [esp + 0x84], 0x151
mov dword [esp + 0x88], 0x166
call fcn.00403ff0
lea ecx, [esp + 0x28]
call fcn.0041b535
lea ecx, [esp + 0x38]
call fcn.0041b535
lea ecx, [esp + 0x30]
call fcn.0041b535
lea ecx, [esp + 0x40]
call fcn.0041b535
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x760], 0x15
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x412a82
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x48]
add eax, 0xfffffff0
mov byte [esp + 0x760], 0x14
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412aaa
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, vtable.CBitmap.0
lea ecx, [esp + 0x40]
mov byte [esp + 0x760], 0x13
mov dword [esp + 0x40], esi
call fcn.00401960
lea ecx, [esp + 0x28]
mov byte [esp + 0x760], 0x12
mov dword [esp + 0x28], esi
call fcn.00401960
lea ecx, [esp + 0x30]
mov byte [esp + 0x760], 0x11
mov dword [esp + 0x30], esi
call fcn.00401960
lea ecx, [esp + 0x38]
mov byte [esp + 0x760], 0x10
mov dword [esp + 0x38], esi
call fcn.00401960
mov eax, dword [esp + 0x68]
add eax, 0xfffffff0
mov byte [esp + 0x760], 0xd
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412b2b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x64]
add eax, 0xfffffff0
mov byte [esp + 0x760], 0xa
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412b53
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x58]
add eax, 0xfffffff0
mov byte [esp + 0x760], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412b7b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x54]
add eax, 0xfffffff0
mov byte [esp + 0x760], 4
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412ba3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x5c]
add eax, 0xfffffff0
mov byte [esp + 0x760], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412bcb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov byte [esp + 0x760], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412bf3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x60]
add eax, 0xfffffff0
mov dword [esp + 0x760], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x412c1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [esp + 0x758]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x740]
xor ecx, esp
call fcn.00438a4b
mov esp, ebp
pop ebp
ret