Function at 0x422608
Capabilities:
Access peb ldr_data
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xe
push 0
push 0
dec ecx
jne 0x422610
push ecx
push ebx
push esi
test dl, dl
je 0x422626
add esp, 0xfffffff0
call fcn.004029ec
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x42495a
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.004028d4
mov dword [0x427820], esi
xor ecx, ecx
mov dl, 1
mov eax, dword [0x40f708]
call fcn.0040f818
mov dword [esi + 8], eax
mov ebx, dword [esi + 8]
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], 0x328
mov dword [ebx + 0x90], 0x1e6
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov byte [ebx + 0x1c9], 0xff
lea eax, [ebp - 0x4c]
mov edx, 0x424998
call fcn.004033c0
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call fcn.0040fd38
mov dl, 1
mov eax, ebx
call fcn.0040fd6c
mov byte [ebx + 0x1ca], 0
push 0x4249a4
mov eax, dword [0x42664c]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, eax
mov eax, ebx
call fcn.0040fe10
xor edx, edx
mov eax, ebx
call fcn.0040fde4
mov byte [ebx + 0x1c8], 0
mov dword [ebx + 0x1dc], 0xffffff
lea eax, [ebx + 0x1cc]
xor edx, edx
call fcn.004033c0
mov byte [ebx + 0xc0], 0
mov byte [ebx + 0x1d1], 0
mov dword [ebx + 0x1d8], ebx
mov dword [ebx + 0x1d4], 0x4104e0
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 eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40e2e0]
call fcn.0040e358
mov dword [esi + 4], eax
mov ebx, dword [esi + 4]
mov byte [ebx + 0x10], 0
mov eax, ebx
call fcn.0040e3cc
mov dword [ebx + 0x1c], esi
push 0
lea eax, [ebx + 0x14]
mov ecx, 1
mov edx, dword [0x40e2b8]
call fcn.00404098
add esp, 4
push 0
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x40e2cc]
call fcn.00404098
add esp, 4
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410688]
call fcn.00410704
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0xc]
lea eax, [ebp - 0x4c]
mov edx, 0x424998
call fcn.004033c0
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call fcn.004107a8
mov byte [ebx + 0x78], 1
mov byte [ebx + 0x79], 0
mov byte [ebx + 0x7a], 1
lea eax, [ebx + 0x7c]
xor edx, edx
call fcn.004033c0
lea eax, [ebx + 0x80]
xor edx, edx
call fcn.004033c0
mov byte [ebx + 0x84], 1
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x10]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x2ad
mov dword [ebx + 0x88], 0x186
mov dword [ebx + 0x8c], 0x73
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x4249ac
call fcn.004033c0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40e2e0]
call fcn.0040e358
mov dword [esi + 0x14], eax
mov ebx, dword [esi + 0x14]
mov byte [ebx + 0x10], 1
mov eax, ebx
call fcn.0040e3cc
mov dword [ebx + 0x1c], esi
push 1
lea eax, [ebx + 0x14]
mov ecx, 1
mov edx, dword [0x40e2b8]
call fcn.00404098
add esp, 4
push 0
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x40e2cc]
call fcn.00404098
add esp, 4
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410dfc]
call fcn.00410ea8
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x18]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x1c7
mov dword [ebx + 0x88], 0x19f
mov dword [ebx + 0x8c], 0x155
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x426648]
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, 0x4249bc
call fcn.004033c0
mov dl, 1
mov eax, ebx
call fcn.004110dc
xor edx, edx
mov eax, ebx
call fcn.004110d0
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 [0x411134]
call fcn.004028d4
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0041119c
mov dl, 1
mov eax, dword [0x411514]
call fcn.004028d4
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov byte [eax + 4], 0
lea edx, [ebp - 0x68]
mov eax, 8
call fcn.0040dc38
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 8]
add eax, 0x24
mov ecx, dword [0x40d32c]
call fcn.00403b0c
mov dl, 1
mov eax, dword [0x411694]
call fcn.004028d4
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
add eax, 0x20
mov edx, 0x4249fc
call fcn.004033c0
mov eax, dword [ebp - 0xc]
add eax, 0x24
mov edx, 0x424a14
call fcn.004033c0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x412f58]
call fcn.0040ebdc
mov dword [esi + 0x28], eax
mov ebx, dword [esi + 0x28]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 0x46
mov dword [ebx + 0x8c], 0xc8
mov dword [ebx + 0x90], 0x7d
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff000005
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x426648]
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.004033c0
lea eax, [ebx + 0x210]
xor edx, edx
call fcn.004033c0
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 eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x41342c]
call fcn.004134e0
mov dword [esi + 0x2c], eax
mov ebx, dword [esi + 0x2c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 5
mov dword [ebx + 0x8c], 0x78
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff000005
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x426648]
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 + 0x1c0]
xor edx, edx
call fcn.004033c0
mov byte [ebx + 0x1c5], 0
mov dword [ebx + 0x1b8], ebx
mov dword [ebx + 0x1b4], 0x41367c
mov byte [ebx + 0x1cc], 0
mov byte [ebx + 0x1bc], 0
mov byte [ebx + 0x1c4], 0
xor eax, eax
mov dword [ebx + 0x1c8], eax
mov byte [ebx + 0x1bd], 1
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x3c]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x30]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 0x2d
mov dword [ebx + 0x8c], 0x3c
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424a18
call fcn.004033c0
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 dl, 1
mov eax, dword [0x413b64]
call fcn.00413c48
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x34]
mov byte [ebx + 0x10], 1
lea eax, [ebx + 0x1e0]
xor edx, edx
call fcn.004033c0
mov dword [ebx + 0x1e4], 0x1388
mov dword [ebx + 0x1e8], 0x3e8
mov dl, 1
mov eax, dword [0x414884]
call fcn.004028d4
mov dword [esi + 0x38], eax
mov ebx, dword [esi + 0x38]
xor eax, eax
mov dword [ebx + 0x1c], eax
xor eax, eax
mov dword [ebx + 0x20], eax
mov dword [ebx + 0x24], 1
mov dl, 1
mov eax, ebx
call fcn.00414920
xor eax, eax
mov dword [ebx + 4], eax
mov dl, 1
mov eax, dword [0x4149bc]
call fcn.00414a14
mov dword [esi + 0x3c], eax
mov ebx, dword [esi + 0x3c]
mov edx, 0xbb8
mov eax, ebx
call fcn.00414ac4
xor edx, edx
mov eax, ebx
call fcn.00414ad0
xor edx, edx
mov eax, ebx
call fcn.00414adc
mov byte [ebx + 0x14], 0
mov dl, 1
mov eax, dword [0x411134]
call fcn.004028d4
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 5], 1
mov dx, 3
mov eax, dword [ebp - 0x10]
call fcn.0041119c
mov dl, 1
mov eax, dword [0x414b9c]
call fcn.004028d4
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x14], eax
mov edx, 1
mov eax, dword [ebp - 0x14]
call fcn.00414c20
mov eax, dword [ebp - 0x14]
add eax, 0x14
mov edx, 0x424a24
call fcn.004033c0
mov dl, 1
mov eax, dword [0x414de4]
call fcn.004028d4
mov dword [esi + 0x48], eax
mov ebx, dword [esi + 0x48]
lea eax, [ebx + 0x34]
xor edx, edx
call fcn.004033c0
lea eax, [ebx + 0x30]
xor edx, edx
call fcn.004033c0
lea eax, [ebx + 0x40]
xor edx, edx
call fcn.004033c0
mov byte [ebx + 0x38], 0
mov byte [ebx + 0x39], 0
lea eax, [ebx + 0x3c]
mov edx, 0x424a3c
call fcn.004033c0
lea eax, [ebx + 0x44]
xor edx, edx
call fcn.004033c0
lea eax, [ebx + 0x48]
xor edx, edx
call fcn.004033c0
mov dl, 1
mov eax, dword [0x411134]
call fcn.004028d4
mov dword [esi + 0x4c], eax
mov eax, dword [esi + 0x4c]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 5], 1
mov dx, 3
mov eax, dword [ebp - 0x18]
call fcn.0041119c
mov dl, 1
mov eax, dword [0x415184]
call fcn.004028d4
mov dword [esi + 0x50], eax
mov dl, 1
mov eax, dword [0x415184]
call fcn.004028d4
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x68]
xor eax, eax
call fcn.0040dc38
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x1c]
add eax, 4
mov ecx, dword [0x40d32c]
call fcn.00403b0c
mov dl, 1
mov eax, dword [0x4149bc]
call fcn.00414a14
mov dword [esi + 0x58], eax
mov ebx, dword [esi + 0x58]
mov edx, 0xbb8
mov eax, ebx
call fcn.00414ac4
xor edx, edx
mov eax, ebx
call fcn.00414ad0
xor edx, edx
mov eax, ebx
call fcn.00414adc
mov byte [ebx + 0x14], 0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x5c], eax
mov ebx, dword [esi + 0x5c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x8c
mov dword [ebx + 0x88], 0x28
mov dword [ebx + 0x8c], 0x37
mov dword [ebx + 0x90], 0x19
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424a44
call fcn.004033c0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x60], eax
mov ebx, dword [esi + 0x60]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x8c
mov dword [ebx + 0x88], 5
mov dword [ebx + 0x8c], 0x37
mov dword [ebx + 0x90], 0x23
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424a4c
call fcn.004033c0
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 dl, 1
mov eax, dword [0x411134]
call fcn.004028d4
mov dword [esi + 0x64], eax
mov eax, dword [esi + 0x64]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x20]
call fcn.0041119c
mov dl, 1
mov eax, dword [0x411134]
call fcn.004028d4
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x24]
call fcn.0041119c
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410dfc]
call fcn.00410ea8
mov dword [esi + 0x6c], eax
mov ebx, dword [esi + 0x6c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 0x1e
mov dword [ebx + 0x8c], 0x5a
mov dword [ebx + 0x90], 0x11
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x426648]
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, 0x424a54
call fcn.004033c0
mov dl, 1
mov eax, ebx
call fcn.004110dc
xor edx, edx
mov eax, ebx
call fcn.004110d0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x70], eax
mov ebx, dword [esi + 0x70]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x46
mov dword [ebx + 0x88], 0x2d
mov dword [ebx + 0x8c], 0x3c
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424a64
call fcn.004033c0
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 dl, 1
mov eax, dword [0x415184]
call fcn.004028d4
mov dword [esi + 0x74], eax
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410dfc]
call fcn.00410ea8
mov dword [esi + 0x78], eax
mov ebx, dword [esi + 0x78]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xa
mov dword [ebx + 0x88], 0xc8
mov dword [ebx + 0x8c], 0x110
mov dword [ebx + 0x90], 0x20
mov byte [ebx + 0x94], 0
mov dword [ebx + 0x9c], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [0x426648]
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, 0x424a70
call fcn.004033c0
xor edx, edx
mov eax, ebx
call fcn.004110dc
xor edx, edx
mov eax, ebx
call fcn.004110d0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x7c], eax
mov ebx, dword [esi + 0x7c]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xc8
mov dword [ebx + 0x88], 5
mov dword [ebx + 0x8c], 0x37
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424ac8
call fcn.004033c0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40e2e0]
call fcn.0040e358
mov dword [esi + 0x80], eax
mov ebx, dword [esi + 0x80]
mov byte [ebx + 0x10], 1
mov eax, ebx
call fcn.0040e3cc
mov dword [ebx + 0x1c], esi
push 0
lea eax, [ebx + 0x14]
mov ecx, 1
mov edx, dword [0x40e2b8]
call fcn.00404098
add esp, 4
push 0
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x40e2cc]
call fcn.00404098
add esp, 4
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0x84], eax
mov ebx, dword [esi + 0x84]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0xff
mov dword [ebx + 0x88], 5
mov dword [ebx + 0x8c], 0x6e
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424ad4
call fcn.004033c0
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 dl, 1
mov eax, dword [0x415298]
call fcn.004028d4
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x70], 0
mov eax, dword [ebp - 0x28]
mov byte [eax + 0x71], 0
mov dl, 1
mov eax, dword [0x4153fc]
call fcn.00415470
mov dword [esi + 0x8c], eax
mov ebx, dword [esi + 0x8c]
lea eax, [ebx + 0x14]
xor edx, edx
call fcn.004033c0
mov byte [ebx + 0x18], 0
lea eax, [ebp - 0x4c]
mov edx, 0x424ae4
call fcn.004033c0
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call fcn.004154f4
mov dl, 1
mov eax, dword [0x413b64]
call fcn.00413c48
mov dword [esi + 0x90], eax
mov ebx, dword [esi + 0x90]
mov byte [ebx + 0x10], 1
lea eax, [ebx + 0x1e0]
xor edx, edx
call fcn.004033c0
mov dword [ebx + 0x1e4], 0x1388
mov dword [ebx + 0x1e8], 0x3e8
mov dl, 1
mov eax, dword [0x4156c4]
call fcn.004028d4
mov dword [esi + 0x94], eax
mov ebx, dword [esi + 0x94]
lea eax, [ebx + 4]
xor edx, edx
call fcn.004033c0
lea eax, [ebx + 8]
mov edx, 0x424998
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xc], eax
xor eax, eax
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0x14], eax
mov dl, 1
mov eax, dword [0x414b9c]
call fcn.004028d4
mov dword [esi + 0x98], eax
mov eax, dword [esi + 0x98]
mov dword [ebp - 0x2c], eax
mov edx, 1
mov eax, dword [ebp - 0x2c]
call fcn.00414c20
mov eax, dword [ebp - 0x2c]
add eax, 0x14
mov edx, 0x424af4
call fcn.004033c0
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40e2e0]
call fcn.0040e358
mov dword [esi + 0x9c], eax
mov ebx, dword [esi + 0x9c]
mov byte [ebx + 0x10], 0
mov eax, ebx
call fcn.0040e3cc
mov dword [ebx + 0x1c], esi
push 0
lea eax, [ebx + 0x14]
mov ecx, 1
mov edx, dword [0x40e2b8]
call fcn.00404098
add esp, 4
push 0
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x40e2cc]
call fcn.00404098
add esp, 4
mov dl, 1
mov eax, dword [0x411134]
call fcn.004028d4
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x30]
call fcn.0041119c
mov dl, 1
mov eax, dword [0x411514]
call fcn.004028d4
mov dword [esi + 0xa4], eax
mov eax, dword [esi + 0xa4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov byte [eax + 4], 0
lea edx, [ebp - 0x68]
mov eax, 1
call fcn.0040dc38
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x34]
add eax, 8
mov ecx, dword [0x40d32c]
call fcn.00403b0c
mov dl, 1
mov eax, dword [0x411514]
call fcn.004028d4
mov dword [esi + 0xa8], eax
mov eax, dword [esi + 0xa8]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov byte [eax + 4], 0
lea edx, [ebp - 0x68]
xor eax, eax
call fcn.0040dc38
lea edx, [ebp - 0x68]
mov eax, dword [ebp - 0x38]
add eax, 8
mov ecx, dword [0x40d32c]
call fcn.00403b0c
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0xac], eax
mov ebx, dword [esi + 0xac]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x26c
mov dword [ebx + 0x88], 0x16d
mov dword [ebx + 0x8c], 0xb4
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424b60
call fcn.004033c0
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 + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x40e2e0]
call fcn.0040e358
mov dword [esi + 0xb0], eax
mov ebx, dword [esi + 0xb0]
mov byte [ebx + 0x10], 1
mov eax, ebx
call fcn.0040e3cc
mov dword [ebx + 0x1c], esi
push 2
lea eax, [ebx + 0x14]
mov ecx, 1
mov edx, dword [0x40e2b8]
call fcn.00404098
add esp, 4
push 0
lea eax, [ebx + 0x18]
mov ecx, 1
mov edx, dword [0x40e2cc]
call fcn.00404098
add esp, 4
mov eax, dword [esi + 8]
mov ecx, dword [eax + 0x7c]
mov dl, 1
mov eax, dword [0x410c04]
call fcn.0040ebdc
mov dword [esi + 0xb4], eax
mov ebx, dword [esi + 0xb4]
xor eax, eax
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x84], 0x16d
mov dword [ebx + 0x88], 5
mov dword [ebx + 0x8c], 0x6e
mov dword [ebx + 0x90], 0x14
mov byte [ebx + 0x94], 0
push 0
push 1
lea eax, [ebp - 0x48]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x424988
call fcn.0040dff8
lea edx, [ebp - 0x48]
lea eax, [ebx + 0xa8]
mov ecx, dword [0x40d348]
call fcn.00403b0c
mov byte [ebx + 0xb8], 0
mov byte [ebx + 0xba], 1
mov byte [ebx + 0xbb], 0
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.004033c0
lea eax, [ebx + 0xa4]
xor edx, edx
call fcn.004033c0
xor eax, eax
mov dword [ebx + 0xdc], eax
xor eax, eax
mov dword [ebx + 0xe0], eax
lea eax, [ebx + 0x1cc]
mov edx, 0x424b80
call fcn.004033c0
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 + 0x1c]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x22c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x230], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x234], edx
mov eax, dword [esi + 0xc]
push eax
push 0x410a90
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xac], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0xb0], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0xb4], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40e3d0
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x10]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0xc]
push eax
push 0x410aa4
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x20]
push eax
push 0x411588
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0xc]
push eax
push 0x410a9c
lea edx, [ebp - 0x74]
mov ax, 1
call fcn.0040d500
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 8]
push eax
push 0x41052c
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x20]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x68], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x6c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x70], edx
mov eax, dword [esi + 0x24]
push eax
push 0x41171c
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x20]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x50], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x54], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x58], edx
mov eax, dword [esi + 0x2c]
push eax
push 0x413658
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1c0], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1c8], edx
mov eax, dword [esi + 0x28]
push eax
push 0x411eb8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x30]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x28]
push eax
push 0x412278
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x34]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1f8], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1fc], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x200], edx
mov eax, dword [esi + 0x44]
push eax
push 0x414c68
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x34]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x27c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x280], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x284], edx
mov eax, dword [esi + 0x40]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x38]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x4c]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x3c]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x28]
push eax
push 0x411dc0
lea edx, [ebp - 0x74]
mov ax, 4
call fcn.0040d500
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x48]
push eax
push 0x414f9c
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x44]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x34]
push eax
push 0x41483c
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x44]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x38]
push eax
push 0x414954
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x50]
push eax
push 0x4151ec
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x34]
push eax
push 0x414750
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x38]
push eax
push 0x414970
lea edx, [ebp - 0x74]
mov ax, 2
call fcn.0040d500
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x28]
push eax
push 0x412168
lea edx, [ebp - 0x74]
mov ax, 1
call fcn.0040d500
mov eax, dword [esi + 0x50]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x28]
push eax
push 0x411dc0
lea edx, [ebp - 0x74]
mov ax, 4
call fcn.0040d500
mov eax, dword [esi + 0x54]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x54]
push eax
push 0x4151ec
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x58]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x64]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x5c]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x68]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x60]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x3c]
push eax
push 0x414aa8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x64]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x58]
push eax
push 0x414aa8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x64]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x3c]
push eax
push 0x414abc
lea edx, [ebp - 0x74]
mov ax, 1
call fcn.0040d500
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x58]
push eax
push 0x414abc
lea edx, [ebp - 0x74]
mov ax, 1
call fcn.0040d500
mov eax, dword [esi + 0x68]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x74]
push eax
push 0x4151ec
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x28]
push eax
push 0x412018
lea edx, [ebp - 0x74]
mov ax, 2
call fcn.0040d500
mov eax, dword [esi + 0x74]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x28]
push eax
push 0x413390
lea edx, [ebp - 0x74]
mov ax, 4
call fcn.0040d500
mov eax, dword [esi + 0x74]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x80]
push eax
push 0x40e3d0
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x7c]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x88]
push eax
push 0x41530c
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 0x90]
push eax
push 0x414750
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0x88]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x4c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x50], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x54], edx
mov eax, dword [esi + 0x8c]
push eax
push 0x415650
lea edx, [ebp - 0x74]
mov ax, 2
call fcn.0040d500
mov eax, dword [esi + 0x88]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0x98]
push eax
push 0x414c68
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x90]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x27c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x280], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x284], edx
mov eax, dword [esi + 0x88]
push eax
push 0x4153b8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x90]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1f8], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1fc], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x200], edx
mov eax, dword [esi + 0x94]
push eax
push 0x415738
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x98]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x88]
push eax
push 0x4153b8
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0x98]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xa4]
push eax
push 0x411588
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xa0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xa8]
push eax
push 0x411588
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xa0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x9c]
push eax
push 0x40e3d0
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xa4]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x5c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x64], edx
mov eax, dword [esi + 4]
push eax
push 0x40e3d0
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xa8]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x5c], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x60], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x64], edx
mov eax, dword [esi + 0xb0]
push eax
push 0x40e3d0
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xac]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0x1a4], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x1a8], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x1ac], edx
mov eax, dword [esi + 8]
push eax
push 0x41052c
lea edx, [ebp - 0x74]
mov ax, 3
call fcn.0040d500
mov eax, dword [esi + 0xb0]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x74]
mov dword [eax], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xa0]
push eax
push 0x4111c4
lea edx, [ebp - 0x74]
xor eax, eax
call fcn.0040d500
mov eax, dword [esi + 0xb0]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x74]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x70]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x6c]
mov dword [eax + 0x14], edx
mov edx, 0x4161fc
mov eax, dword [esi + 4]
call fcn.0040e3fc
xor edx, edx
mov eax, dword [esi + 8]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 8]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 8]
call fcn.0040f7b8
mov eax, dword [esi + 8]
xor edx, edx
mov dword [eax + 0x1bc], edx
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040f108
mov edx, 0x416854
mov eax, dword [esi + 0x14]
call fcn.0040e3fc
xor edx, edx
mov eax, dword [esi + 0x18]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x18]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x28]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x28]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x28]
call fcn.004131d8
xor edx, edx
mov eax, dword [esi + 0x28]
call fcn.004131f4
xor edx, edx
mov eax, dword [esi + 0x28]
call fcn.00413200
xor edx, edx
mov eax, dword [esi + 0x2c]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x2c]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x30]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x30]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x5c]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x5c]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x60]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x60]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x6c]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x6c]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x70]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x70]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040f108
xor edx, edx
mov eax, dword [esi + 0x7c]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x7c]
call fcn.0040f108
mov edx, 0x41fbd4
mov eax, dword [esi + 0x80]
call fcn.0040e3fc
xor edx, edx
mov eax, dword [esi + 0x84]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0x84]
call fcn.0040f108
mov edx, 0x4218d8
mov eax, dword [esi + 0x9c]
call fcn.0040e3fc
xor edx, edx
mov eax, dword [esi + 0xac]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0xac]
call fcn.0040f108
mov edx, 0x421e30
mov eax, dword [esi + 0xb0]
call fcn.0040e3fc
xor edx, edx
mov eax, dword [esi + 0xb4]
call fcn.0040f130
xor edx, edx
mov eax, dword [esi + 0xb4]
call fcn.0040f108
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x7c]
call fcn.0040ab0c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x424961
lea eax, [ebp - 0x68]
mov edx, dword [0x40d32c]
call fcn.004038fc
lea eax, [ebp - 0x4c]
call fcn.0040329c
lea eax, [ebp - 0x48]
mov edx, dword [0x40d348]
call fcn.004038fc
ret