Function at 0x410e40
Capabilities:
Access peb ldr_data
Load assembly via iassembly

Disassembly:
push ebp
mov ebp, esp
mov ecx, 9
push 0
push 0
dec ecx
jne 0x410e48
push ebx
push esi
test dl, dl
je 0x410e5d
add esp, 0xfffffff0
call fcn.004028e4
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x4129e0
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.004027e4
mov dword [0x4146e0], esi
xor ecx, ecx
mov dl, 1
mov eax, dword [0x40c23c]
call fcn.0040c34c
mov dword [esi + 4], eax
mov ebx, dword [esi + 4]
xor eax, eax
mov dword [ebx + 0x78], eax
xor eax, eax
mov dword [ebx + 0x84], eax
xor eax, eax
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x8c], 0x2b7
mov dword [ebx + 0x90], 0x1db
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov byte [ebx + 0x1c9], 0xff
lea eax, [ebp - 0x20]
mov edx, 0x412a20
call fcn.00403134
mov edx, dword [ebp - 0x20]
mov eax, ebx
call fcn.0040c840
mov dl, 2
mov eax, ebx
call fcn.0040c874
mov byte [ebx + 0x1ca], 0
push 0x412a30
mov eax, dword [0x413460]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, eax
mov eax, ebx
call fcn.0040c918
xor edx, edx
mov eax, ebx
call fcn.0040c8ec
mov byte [ebx + 0x1c8], 0
mov dword [ebx + 0x1dc], 0xffffff
lea eax, [ebx + 0x1cc]
xor edx, edx
call fcn.00403134
mov byte [ebx + 0xc0], 0
mov byte [ebx + 0x1d1], 0
mov dword [ebx + 0x1d8], ebx
mov dword [ebx + 0x1d4], 0x40cfe4
xor eax, eax
mov dword [ebx + 0x1c0], eax
xor eax, eax
mov dword [ebx + 0x1c4], eax
mov byte [ebx + 0x1e0], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x40d6d0]
call fcn.0040d73c
mov dword [esi + 8], eax
mov eax, dword [esi + 8]
mov dword [eax + 0x1c], 0xc350
mov byte [eax + 0x20], 1
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40dbc8]
call fcn.0040b738
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0xc]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xf
mov dword [ebx + 0x88], 0xa
mov dword [ebx + 0x8c], 0x5f
mov dword [ebx + 0x90], 0x19
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x412a38
call fcn.00403134
mov byte [ebx + 0xc1], 0
mov byte [ebx + 0x1d0], 1
mov byte [ebx + 0x1d1], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40ddd8]
call fcn.0040de84
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x10]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x78
mov dword [ebx + 0x88], 0xf
mov dword [ebx + 0x8c], 0x3a
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0xff
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
mov byte [ebx + 0xb9], 0
lea eax, [ebx + 0x1b8]
mov edx, 0x412a48
call fcn.00403134
mov dl, 1
mov eax, ebx
call fcn.0040e0b8
xor edx, edx
mov eax, ebx
call fcn.0040e0ac
xor eax, eax
mov dword [ebx + 0x1b0], eax
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1bc], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
mov byte [eax + 5], 1
mov dx, 4
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e540]
call fcn.004027e4
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x18]
mov byte [ebx + 4], 0
lea eax, [ebp - 0x20]
mov edx, 0x412a54
call fcn.00403134
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x3c]
call fcn.0040ae4c
lea edx, [ebp - 0x3c]
lea eax, [ebx + 8]
mov ecx, dword [0x40a72c]
call fcn.00403818
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x1c], eax
mov ebx, dword [esi + 0x1c]
lea eax, [ebp - 0x20]
mov edx, 0x412a48
call fcn.00403134
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x3c]
call fcn.0040ae4c
lea edx, [ebp - 0x3c]
lea eax, [ebx + 4]
mov ecx, dword [0x40a72c]
call fcn.00403818
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
mov byte [eax + 5], 2
mov dx, 1
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov byte [eax + 5], 2
mov dx, 1
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x2c], eax
mov ebx, dword [esi + 0x2c]
lea eax, [ebp - 0x20]
mov edx, 0x412a54
call fcn.00403134
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x3c]
call fcn.0040ae4c
lea edx, [ebp - 0x3c]
lea eax, [ebx + 4]
mov ecx, dword [0x40a72c]
call fcn.00403818
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x30]
lea eax, [ebp - 0x20]
mov edx, 0x412a38
call fcn.00403134
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x3c]
call fcn.0040ae4c
lea edx, [ebp - 0x3c]
lea eax, [ebx + 4]
mov ecx, dword [0x40a72c]
call fcn.00403818
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x34], eax
mov eax, dword [esi + 0x34]
mov dword [ebp - 8], eax
lea eax, [ebp - 0x20]
mov edx, 0x412a60
call fcn.00403134
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x3c]
call fcn.0040ae4c
lea edx, [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, 4
mov ecx, dword [0x40a72c]
call fcn.00403818
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40ddd8]
call fcn.0040de84
mov dword [esi + 0x38], eax
mov ebx, dword [esi + 0x38]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xf
mov dword [ebx + 0x88], 0x32
mov dword [ebx + 0x8c], 0x62
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
mov byte [ebx + 0xb9], 0
lea eax, [ebx + 0x1b8]
mov edx, 0x412a70
call fcn.00403134
mov dl, 1
mov eax, ebx
call fcn.0040e0b8
xor edx, edx
mov eax, ebx
call fcn.0040e0ac
xor eax, eax
mov dword [ebx + 0x1b0], eax
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1bc], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40f040]
call fcn.0040b738
mov dword [esi + 0x3c], eax
mov ebx, dword [esi + 0x3c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xf
mov dword [ebx + 0x88], 0x46
mov dword [ebx + 0x8c], 0x109
mov dword [ebx + 0x90], 0x73
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff000005
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
mov byte [ebx + 0xb9], 0
lea eax, [ebx + 0x1ac]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0x210]
xor edx, edx
call fcn.00403134
mov byte [ebx + 0x1b0], 0
mov byte [ebx + 0x1b2], 0
mov byte [ebx + 0x1b1], 0
mov byte [ebx + 0x214], 0
mov byte [ebx + 0x215], 0
mov dword [ebx + 0x218], 0x14
mov byte [ebx + 0x21c], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40f4d4]
call fcn.004027e4
mov dword [esi + 0x44], eax
mov ebx, dword [esi + 0x44]
lea eax, [ebx + 8]
mov edx, 0x412a88
call fcn.00403134
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403134
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x48], eax
mov dl, 1
mov eax, dword [0x40f4d4]
call fcn.004027e4
mov dword [esi + 0x4c], eax
mov ebx, dword [esi + 0x4c]
lea eax, [ebx + 8]
mov edx, 0x412a9c
call fcn.00403134
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403134
mov dl, 1
mov eax, dword [0x40f4d4]
call fcn.004027e4
mov dword [esi + 0x50], eax
mov ebx, dword [esi + 0x50]
lea eax, [ebx + 8]
mov edx, 0x412aa8
call fcn.00403134
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403134
mov dl, 1
mov eax, dword [0x40f610]
call fcn.004027e4
mov dword [esi + 0x54], eax
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x58], eax
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x5c], eax
mov eax, dword [esi + 0x5c]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40f610]
call fcn.004027e4
mov dword [esi + 0x60], eax
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x64]
mov byte [eax + 5], 3
mov dx, 1
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
mov byte [eax + 5], 2
mov dx, 1
call fcn.0040e1c8
mov dl, 1
mov eax, dword [0x40e6c0]
call fcn.004027e4
mov dword [esi + 0x6c], eax
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov byte [eax + 5], 1
mov dx, 2
call fcn.0040e1c8
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40ddd8]
call fcn.0040de84
mov dword [esi + 0x74], eax
mov ebx, dword [esi + 0x74]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x131
mov dword [ebx + 0x88], 0x46
mov dword [ebx + 0x8c], 0x3f
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
mov byte [ebx + 0xb9], 0
lea eax, [ebx + 0x1b8]
mov edx, 0x412ab8
call fcn.00403134
mov dl, 1
mov eax, ebx
call fcn.0040e0b8
xor edx, edx
mov eax, ebx
call fcn.0040e0ac
xor eax, eax
mov dword [ebx + 0x1b0], eax
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1bc], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40f884]
call fcn.0040b738
mov dword [esi + 0x78], eax
mov ebx, dword [esi + 0x78]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x131
mov dword [ebx + 0x88], 0x5a
mov dword [ebx + 0x8c], 0x172
mov dword [ebx + 0x90], 0x159
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff000005
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
lea eax, [ebx + 0x1ac]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0x200]
xor edx, edx
call fcn.00403134
mov byte [ebx + 0x1b0], 0
mov byte [ebx + 0x1fc], 2
mov byte [ebx + 0x1fd], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x40fc80]
call fcn.004027e4
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x7c]
mov byte [eax + 4], 7
xor edx, edx
mov dword [eax + 8], edx
xor edx, edx
mov dword [eax + 0xc], edx
mov byte [eax + 5], 0
mov byte [eax + 6], 0
mov byte [eax + 7], 0
mov dl, 1
mov eax, dword [0x40f610]
call fcn.004027e4
mov dword [esi + 0x80], eax
mov dl, 1
mov eax, dword [0x4100f8]
call fcn.00410170
mov dword [esi + 0x84], eax
mov ebx, dword [esi + 0x84]
lea eax, [ebx + 8]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xc]
mov edx, 0x412ac4
call fcn.00403134
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40dbc8]
call fcn.0040b738
mov dword [esi + 0x88], eax
mov ebx, dword [esi + 0x88]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 5
mov dword [ebx + 0x88], 0xc8
mov dword [ebx + 0x8c], 0x11d
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0xff
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x412ad0
call fcn.00403134
mov byte [ebx + 0xc1], 0
mov byte [ebx + 0x1d0], 1
mov byte [ebx + 0x1d1], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40ddd8]
call fcn.0040de84
mov dword [esi + 0x8c], eax
mov ebx, dword [esi + 0x8c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x41
mov dword [ebx + 0x88], 0xe6
mov dword [ebx + 0x8c], 0x8a
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0xff
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 1
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
mov byte [ebx + 0xb9], 0
lea eax, [ebx + 0x1b8]
mov edx, 0x412b04
call fcn.00403134
mov dl, 1
mov eax, ebx
call fcn.0040e0b8
xor edx, edx
mov eax, ebx
call fcn.0040e0ac
xor eax, eax
mov dword [ebx + 0x1b0], eax
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1bc], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x40e160]
call fcn.004027e4
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0040e1c8
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410378]
call fcn.00410450
mov dword [esi + 0x94], eax
mov ebx, dword [esi + 0x94]
mov dword [ebx + 0x78], 4
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 0x104
mov dword [ebx + 0x8c], 0x118
mov dword [ebx + 0x90], 0xa5
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff000005
push 0
push 1
lea eax, [ebp - 0x1c]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x412a10
call fcn.0040af74
lea edx, [ebp - 0x1c]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40a748]
call fcn.00403818
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 1
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xc2], 1
xor eax, eax
mov dword [ebx + 0x98], eax
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xd8], 0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.00403134
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x41345c]
mov eax, dword [eax]
mov dword [ebx + 0xc4], eax
mov dword [ebx + 0xc8], 4
mov dword [ebx + 0xcc], 0xff00000f
xor eax, eax
mov dword [ebx + 0xd0], eax
xor eax, eax
mov dword [ebx + 0xd4], eax
lea eax, [ebx + 0x1ac]
xor edx, edx
call fcn.00403134
lea eax, [ebx + 0x20c]
xor edx, edx
call fcn.00403134
mov byte [ebx + 0x1b0], 0
mov byte [ebx + 0x209], 2
mov byte [ebx + 0x20a], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov dl, 1
mov eax, dword [0x410c9c]
call fcn.004027e4
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x98]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 8
mov edx, 0x412b20
call fcn.00403134
mov eax, dword [esi + 0x84]
push eax
push 0x410228
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 4]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x22c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x230], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x234], edx
mov eax, dword [esi + 0x80]
push eax
push 0x40f680
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x6c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x70], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x74], edx
mov eax, dword [esi + 0x40]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x5c]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x48], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x4c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x50], edx
mov eax, dword [esi + 0x18]
push eax
push 0x40e5b4
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x70]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x1c]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x30]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x3c]
push eax
mov eax, dword [eax]
mov eax, dword [eax + 0x64]
push eax
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x2c], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x5c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x64], edx
mov eax, dword [esi + 0x28]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x68], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x6c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x70], edx
mov eax, dword [esi + 0x10]
push eax
push 0x40e0c4
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x48], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x4c], edx
mov eax, dword [esi + 0x20]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x10]
push eax
push 0x40e050
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x20]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xc]
push eax
push 0x40dd3c
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x24]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 8]
push eax
push 0x40d820
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x2c]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x34]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x20]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x2c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x24]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x30]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x24]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x34]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x64]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40f680
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x4c]
push eax
push 0x40f54c
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x48]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x44]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 8]
push eax
push 0x40db6c
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x44]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x38]
push eax
push 0x40e050
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x44]
push eax
push 0x40f5cc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x58]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40f6fc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x6c]
push eax
push 0x40e728
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x60]
push eax
push 0x40f6fc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x68]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x58]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x4c]
push eax
push 0x40f5cc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x58]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x60]
push eax
push 0x40f680
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x64]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x50]
push eax
push 0x40f54c
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x44]
push eax
push 0x40f54c
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x64]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x3c]
push eax
push 0x40ea54
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x68]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x6c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x50]
push eax
push 0x40f5cc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x6c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 8]
push eax
push 0x40d868
lea edx, [ebp - 0x48]
mov ax, 1
call fcn.0040a87c
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x64]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
mov ax, 2
call fcn.0040a87c
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x78]
push eax
push 0x40ea54
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x80]
push eax
push 0x40f6fc
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x7c]
push eax
push 0x40fe58
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x80]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x8c]
push eax
push 0x40e050
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x98]
push eax
push 0x410d04
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x3c], edx
mov eax, dword [esi + 0x78]
push eax
mov eax, dword [eax]
mov eax, dword [eax + 0x68]
push eax
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x24], edx
mov eax, dword [esi + 0x90]
push eax
push 0x40e1f0
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x88]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x94]
push eax
push 0x410638
lea edx, [ebp - 0x48]
mov ax, 3
call fcn.0040a87c
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x84]
push eax
push 0x410284
lea edx, [ebp - 0x48]
mov ax, 2
call fcn.0040a87c
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x94]
push eax
push 0x40ea54
lea edx, [ebp - 0x48]
xor eax, eax
call fcn.0040a87c
mov eax, dword [esi + 0x98]
mov edx, dword [ebp - 0x48]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x40]
mov dword [eax + 0x20], edx
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040c2ec
mov eax, dword [esi + 4]
xor edx, edx
mov dword [eax + 0x1bc], edx
xor edx, edx
mov eax, dword [esi + 0xc]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0xc]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x38]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x38]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x3c]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x3c]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x3c]
call fcn.0040f2c0
xor edx, edx
mov eax, dword [esi + 0x3c]
call fcn.0040f2dc
xor edx, edx
mov eax, dword [esi + 0x3c]
call fcn.0040f2e8
xor edx, edx
mov eax, dword [esi + 0x74]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x74]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x88]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x88]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x8c]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x8c]
call fcn.0040bc3c
xor edx, edx
mov eax, dword [esi + 0x94]
call fcn.0040bc64
xor edx, edx
mov eax, dword [esi + 0x94]
call fcn.0040bc3c
mov eax, dword [esi + 0x84]
call fcn.0041016c
mov edx, dword [esi + 0x94]
mov dword [edx + 0x21c], eax
mov eax, dword [esi + 0x84]
call fcn.0041016c
mov edx, dword [esi + 0x98]
mov dword [edx + 4], eax
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x7c]
call fcn.00408c34
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x4129e7
lea eax, [ebp - 0x3c]
mov edx, dword [0x40a72c]
call fcn.00403608
lea eax, [ebp - 0x20]
call fcn.00403010
lea eax, [ebp - 0x1c]
mov edx, dword [0x40a748]
call fcn.00403608
ret