Function at 0x416c34
Capabilities:
Access peb ldr_data
Reference google public dns server

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xb
push 0
push 0
dec ecx
jne 0x416c3c
push ecx
push ebx
push esi
test dl, dl
je 0x416c52
add esp, 0xfffffff0
call fcn.00402a50
mov byte [ebp - 1], dl
mov esi, eax
xor eax, eax
push ebp
push 0x41887a
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
mov eax, esi
call fcn.0040282c
mov dword [0x41a618], esi
xor ecx, ecx
mov dl, 1
mov eax, dword [0x40dab8]
call fcn.0040db84
mov dword [esi + 4], eax
mov ebx, dword [esi + 4]
xor eax, eax
mov dword [ebx + 0x60], eax
xor eax, eax
mov dword [ebx + 0x6c], eax
xor eax, eax
mov dword [ebx + 0x70], eax
mov dword [ebx + 0x74], 0x1c6
mov dword [ebx + 0x78], 0x94
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov byte [ebx + 0x1b9], 0xff
lea eax, [ebp - 0x34]
mov edx, 0x4188b8
call fcn.00403368
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.0040dfd4
mov dl, 4
mov eax, ebx
call fcn.0040e008
mov byte [ebx + 0x1ba], 0
push 0x4188c8
mov eax, dword [0x419794]
mov eax, dword [eax]
push eax
call sub.user32.dll_LoadIconA
mov edx, eax
mov eax, ebx
call fcn.0040e0a8
xor edx, edx
mov eax, ebx
call fcn.0040e07c
mov byte [ebx + 0x1b8], 1
mov byte [ebx + 0xaa], 1
mov dword [ebx + 0x1d4], 0xffffff
lea eax, [ebx + 0x1c4]
xor edx, edx
call fcn.00403368
mov byte [ebx + 0xa8], 0
mov byte [ebx + 0x1c9], 0
mov dword [ebx + 0x1d0], ebx
mov dword [ebx + 0x1cc], 0x40e710
xor eax, eax
mov dword [ebx + 0x1b0], eax
xor eax, eax
mov dword [ebx + 0x1b4], eax
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov dl, 1
mov eax, dword [0x40e870]
call fcn.0040e8f0
mov dword [esi + 8], eax
mov ebx, dword [esi + 8]
lea eax, [ebx + 8]
mov edx, 0x4188d0
call fcn.00403368
mov dword [ebx + 0xc], 0x80
mov dword [ebx + 0x10], 0xbb8
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40eb54]
call fcn.0040cff8
mov dword [esi + 0xc], eax
mov ebx, dword [esi + 0xc]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0xa
mov dword [ebx + 0x70], 0x3c
mov dword [ebx + 0x74], 0x37
mov dword [ebx + 0x78], 0x14
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 1
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0x1c0]
mov edx, 0x4188dc
call fcn.00403368
lea eax, [ebp - 0x34]
mov edx, 0x4188e4
call fcn.00403368
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x50]
call fcn.0040c598
lea edx, [ebp - 0x50]
lea eax, [ebx + 0x1a4]
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov byte [ebx + 0xa9], 1
mov byte [ebx + 0x1c4], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40eca0]
call fcn.0040ed4c
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x10]
mov dword [ebx + 0x60], 2
mov dword [ebx + 0x6c], 0x50
mov dword [ebx + 0x70], 0xa
mov dword [ebx + 0x74], 0x55
mov dword [ebx + 0x78], 0x14
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff000005
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0x1b0]
mov edx, 0x4188f8
call fcn.00403368
mov byte [ebx + 0x1b5], 0
mov dword [ebx + 0x1a8], ebx
mov dword [ebx + 0x1a4], 0x40f144
mov byte [ebx + 0x1ac], 0
mov byte [ebx + 0x1b4], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40f310]
call fcn.0040f37c
mov dword [esi + 0x14], eax
mov ebx, dword [esi + 0x14]
mov byte [ebx + 0x10], 0
lea eax, [ebx + 0x14]
xor edx, edx
call fcn.00403368
mov byte [ebx + 0x1c], 1
xor eax, eax
mov dword [ebx + 0x18], eax
lea eax, [ebp - 0x34]
mov edx, 0x418904
call fcn.00403368
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.0040f404
lea eax, [ebp - 0x34]
xor edx, edx
call fcn.00403368
mov edx, dword [ebp - 0x34]
mov eax, ebx
call fcn.0040f3f8
mov dl, 1
mov eax, dword [0x40f6b0]
call fcn.0040282c
mov dword [esi + 0x18], eax
mov ebx, dword [esi + 0x18]
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.0040c590
lea edx, [ebp - 0x50]
lea eax, [ebx + 8]
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov byte [ebx + 4], 0
mov dl, 1
mov eax, dword [0x40f6b0]
call fcn.0040282c
mov dword [esi + 0x1c], eax
mov ebx, dword [esi + 0x1c]
lea edx, [ebp - 0x50]
mov eax, 1
call fcn.0040c590
lea edx, [ebp - 0x50]
lea eax, [ebx + 8]
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov byte [ebx + 4], 0
mov dl, 1
mov eax, dword [0x40f824]
call fcn.0040f87c
mov dword [esi + 0x20], eax
mov ebx, dword [esi + 0x20]
mov edx, 0x3e8
mov eax, ebx
call fcn.0040f948
xor edx, edx
mov eax, ebx
call fcn.0040f954
xor edx, edx
mov eax, ebx
call fcn.0040f960
mov byte [ebx + 0x14], 0
mov dl, 1
mov eax, dword [0x40fa0c]
call fcn.0040282c
mov dword [esi + 0x24], eax
mov ebx, dword [esi + 0x24]
lea eax, [ebx + 8]
mov edx, 0x418940
call fcn.00403368
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403368
mov dl, 1
mov eax, dword [0x40f6b0]
call fcn.0040282c
mov dword [esi + 0x28], eax
mov ebx, dword [esi + 0x28]
lea edx, [ebp - 0x50]
mov eax, 2
call fcn.0040c590
lea edx, [ebp - 0x50]
lea eax, [ebx + 8]
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov byte [ebx + 4], 0
mov dl, 1
mov eax, dword [0x40fa0c]
call fcn.0040282c
mov dword [esi + 0x2c], eax
mov ebx, dword [esi + 0x2c]
lea eax, [ebx + 8]
mov edx, 0x41894c
call fcn.00403368
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403368
mov dl, 1
mov eax, dword [0x40fa0c]
call fcn.0040282c
mov dword [esi + 0x30], eax
mov ebx, dword [esi + 0x30]
lea eax, [ebx + 8]
mov edx, 0x418954
call fcn.00403368
lea eax, [ebx + 0xc]
xor edx, edx
call fcn.00403368
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40eb54]
call fcn.0040cff8
mov dword [esi + 0x34], eax
mov ebx, dword [esi + 0x34]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0x6e
mov dword [ebx + 0x70], 0x3c
mov dword [ebx + 0x74], 0x37
mov dword [ebx + 0x78], 0x14
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0x1c0]
mov edx, 0x41895c
call fcn.00403368
lea eax, [ebp - 0x34]
mov edx, 0x418964
call fcn.00403368
mov eax, dword [ebp - 0x34]
lea edx, [ebp - 0x50]
call fcn.0040c598
lea edx, [ebp - 0x50]
lea eax, [ebx + 0x1a4]
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov byte [ebx + 0xa9], 1
mov byte [ebx + 0x1c4], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov dl, 1
mov eax, dword [0x40fb48]
call fcn.0040fba0
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x38]
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0x989680
mov dword [eax + 0x14], 1
mov byte [eax + 0x18], 0
xor edx, edx
mov dword [eax + 4], edx
mov dl, 1
mov eax, dword [0x40fb48]
call fcn.0040fba0
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x3c]
xor edx, edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], 0x989680
mov dword [eax + 0x14], 1
mov byte [eax + 0x18], 0
xor edx, edx
mov dword [eax + 4], edx
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x40]
mov byte [eax + 5], 1
mov dx, 3
call fcn.0040fcdc
mov dl, 1
mov eax, dword [0x40fd6c]
call fcn.0040282c
mov dword [esi + 0x44], eax
mov ebx, dword [esi + 0x44]
mov byte [ebx + 4], 0
lea eax, [ebx + 8]
mov edx, 0x418978
call fcn.00403368
mov dl, 1
mov eax, dword [0x40ff8c]
call fcn.0040282c
mov dword [esi + 0x48], eax
mov dl, 1
mov eax, dword [0x4100e0]
call fcn.0040282c
mov dword [esi + 0x4c], eax
mov ebx, dword [esi + 0x4c]
mov edx, 5
mov eax, ebx
call fcn.00410164
lea eax, [ebx + 0x14]
mov edx, 0x418988
call fcn.00403368
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x50], eax
mov eax, dword [esi + 0x50]
mov byte [eax + 5], 1
mov dx, 2
call fcn.0040fcdc
mov dl, 1
mov eax, dword [0x40fb48]
call fcn.0040fba0
mov dword [esi + 0x54], eax
mov eax, dword [esi + 0x54]
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], 0x989680
mov dword [eax + 0x14], 1
mov byte [eax + 0x18], 0
xor edx, edx
mov dword [eax + 4], edx
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x58], eax
mov eax, dword [esi + 0x58]
mov byte [eax + 5], 1
mov dx, 2
call fcn.0040fcdc
mov dl, 1
mov eax, dword [0x4100e0]
call fcn.0040282c
mov dword [esi + 0x5c], eax
mov ebx, dword [esi + 0x5c]
mov edx, 3
mov eax, ebx
call fcn.00410164
lea eax, [ebx + 0x14]
mov edx, 0x41899c
call fcn.00403368
mov dl, 1
mov eax, dword [0x40fd6c]
call fcn.0040282c
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x60]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov byte [eax + 4], 0
mov eax, dword [ebp - 8]
add eax, 8
mov edx, 0x418978
call fcn.00403368
mov dl, 1
mov eax, dword [0x40ff8c]
call fcn.0040282c
mov dword [esi + 0x64], eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40eca0]
call fcn.0040ed4c
mov dword [esi + 0x68], eax
mov ebx, dword [esi + 0x68]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0x6e
mov dword [ebx + 0x70], 0x23
mov dword [ebx + 0x74], 0x37
mov dword [ebx + 0x78], 0x14
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff000005
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0x1b0]
mov edx, 0x4189b0
call fcn.00403368
mov byte [ebx + 0x1b5], 0
mov dword [ebx + 0x1a8], ebx
mov dword [ebx + 0x1a4], 0x40f134
mov byte [ebx + 0x1ac], 0
mov byte [ebx + 0x1b4], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov dl, 1
mov eax, dword [0x40f6b0]
call fcn.0040282c
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x6c]
mov dword [ebp - 0xc], eax
lea edx, [ebp - 0x50]
mov eax, 3
call fcn.0040c590
lea edx, [ebp - 0x50]
mov eax, dword [ebp - 0xc]
add eax, 8
mov ecx, dword [0x40bb44]
call fcn.00403b74
mov eax, dword [ebp - 0xc]
mov byte [eax + 4], 0
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x70], eax
mov eax, dword [esi + 0x70]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x10]
call fcn.0040fcdc
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x74], eax
mov eax, dword [esi + 0x74]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x14]
call fcn.0040fcdc
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x41031c]
call fcn.004103c0
mov dword [esi + 0x78], eax
mov ebx, dword [esi + 0x78]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0xa
mov dword [ebx + 0x70], 0xf
mov dword [ebx + 0x74], 0x46
mov dword [ebx + 0x78], 0x11
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xa1], 0
lea eax, [ebx + 0x1ac]
mov edx, 0x4189b8
call fcn.00403368
mov dl, 1
mov eax, ebx
call fcn.0041050c
xor edx, edx
mov eax, ebx
call fcn.00410500
xor eax, eax
mov dword [ebx + 0x1a4], eax
mov byte [ebx + 0x1a8], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x41031c]
call fcn.004103c0
mov dword [esi + 0x7c], eax
mov ebx, dword [esi + 0x7c]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0xa
mov dword [ebx + 0x70], 0x28
mov dword [ebx + 0x74], 0x56
mov dword [ebx + 0x78], 0x11
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0xa1], 0
lea eax, [ebx + 0x1ac]
mov edx, 0x4189c8
call fcn.00403368
mov dl, 1
mov eax, ebx
call fcn.0041050c
xor edx, edx
mov eax, ebx
call fcn.00410500
xor eax, eax
mov dword [ebx + 0x1a4], eax
mov byte [ebx + 0x1a8], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x410d94]
call fcn.0040cff8
mov dword [esi + 0x80], eax
mov ebx, dword [esi + 0x80]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0xaa
mov dword [ebx + 0x70], 0xa
mov dword [ebx + 0x74], 0x109
mov dword [ebx + 0x78], 0x69
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff000005
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0x1b0]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x1b8]
mov edx, 0x4189dc
call fcn.00403368
lea eax, [ebx + 0x1a8]
mov edx, 0x4189e4
call fcn.00403368
mov byte [ebx + 0x1ac], 0
mov byte [ebx + 0x1ad], 1
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1b5], 0
mov byte [ebx + 0x1b6], 0
mov byte [ebx + 0x1bc], 0
mov byte [ebx + 0x1bd], 0
mov byte [ebx + 0x1be], 1
mov byte [ebx + 0x1ae], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov dl, 1
mov eax, dword [0x4122b8]
call fcn.0040282c
mov dword [esi + 0x84], eax
mov ebx, dword [esi + 0x84]
mov byte [ebx + 0x20], 1
xor eax, eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], eax
xor eax, eax
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], 0x3ff00000
mov byte [ebx + 0x34], 0
push 0
push 0
mov eax, ebx
call fcn.0041230c
xor edx, edx
mov eax, ebx
call fcn.00412330
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x88]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov byte [eax + 5], 1
mov dx, 2
mov eax, dword [ebp - 0x18]
call fcn.0040fcdc
mov dl, 1
mov eax, dword [0x4123f4]
call fcn.0040282c
mov dword [esi + 0x8c], eax
mov dl, 1
mov eax, dword [0x40fa0c]
call fcn.0040282c
mov dword [esi + 0x90], eax
mov eax, dword [esi + 0x90]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
add eax, 8
xor edx, edx
call fcn.00403368
mov eax, dword [ebp - 0x1c]
add eax, 0xc
mov edx, 0x4189e8
call fcn.00403368
mov dl, 1
mov eax, dword [0x40101c]
call fcn.0040282c
mov dword [esi + 0x94], eax
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x40eb54]
call fcn.0040cff8
mov dword [esi + 0x98], eax
mov ebx, dword [esi + 0x98]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0x50
mov dword [ebx + 0x70], 0x5a
mov dword [ebx + 0x74], 0xf
mov dword [ebx + 0x78], 0xf
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff00000f
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 1
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
mov edx, 0x4189f0
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
lea eax, [ebx + 0x1c0]
mov edx, 0x4189f8
call fcn.00403368
mov byte [ebx + 0xa9], 1
mov byte [ebx + 0x1c4], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x410d94]
call fcn.0040cff8
mov dword [esi + 0x9c], eax
mov ebx, dword [esi + 0x9c]
xor eax, eax
mov dword [ebx + 0x60], eax
mov dword [ebx + 0x6c], 0xaa
mov dword [ebx + 0x70], 0x78
mov dword [ebx + 0x74], 0x109
mov dword [ebx + 0x78], 0x69
mov byte [ebx + 0x7c], 0
mov dword [ebx + 0x84], 0xff000005
push 0
push 1
lea eax, [ebp - 0x30]
push eax
xor ecx, ecx
mov dl, 8
mov eax, 0x4188a8
call fcn.0040c80c
lea edx, [ebp - 0x30]
lea eax, [ebx + 0x90]
mov ecx, dword [0x40bb60]
call fcn.00403b74
mov byte [ebx + 0xa0], 0
mov byte [ebx + 0xa2], 0
mov byte [ebx + 0xa3], 1
xor eax, eax
mov dword [ebx + 0xa4], eax
xor eax, eax
mov dword [ebx + 0x80], eax
mov byte [ebx + 0x88], 1
mov byte [ebx + 0xc0], 0
lea eax, [ebx + 0x68]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x8c]
xor edx, edx
call fcn.00403368
xor eax, eax
mov dword [ebx + 0xc4], eax
xor eax, eax
mov dword [ebx + 0xc8], eax
mov eax, dword [0x41978c]
mov eax, dword [eax]
mov dword [ebx + 0xac], eax
mov dword [ebx + 0xb0], 4
mov dword [ebx + 0xb4], 0xff00000f
xor eax, eax
mov dword [ebx + 0xb8], eax
xor eax, eax
mov dword [ebx + 0xbc], eax
lea eax, [ebx + 0x1b0]
xor edx, edx
call fcn.00403368
lea eax, [ebx + 0x1b8]
mov edx, 0x4189dc
call fcn.00403368
lea eax, [ebx + 0x1a8]
mov edx, 0x4189e4
call fcn.00403368
mov byte [ebx + 0x1ac], 0
mov byte [ebx + 0x1ad], 1
mov byte [ebx + 0x1b4], 0
mov byte [ebx + 0x1b5], 0
mov byte [ebx + 0x1b6], 0
mov byte [ebx + 0x1bc], 0
mov byte [ebx + 0x1bd], 0
mov byte [ebx + 0x1be], 1
mov byte [ebx + 0x1ae], 0
mov eax, ebx
mov edx, dword [eax]
call dword [edx + 0x34]
mov dl, 1
mov eax, dword [0x40fc74]
call fcn.0040282c
mov dword [esi + 0xa0], eax
mov eax, dword [esi + 0xa0]
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.0040fcdc
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x64]
mov dl, 1
mov eax, dword [0x412638]
call fcn.004126b0
mov dword [esi + 0xa4], eax
mov ebx, dword [esi + 0xa4]
mov byte [ebx + 0x14], 0
mov eax, ebx
call fcn.0041276c
mov dword [ebx + 0x24], esi
push 0
lea eax, [ebx + 0x1c]
mov ecx, 1
mov edx, dword [0x412610]
call fcn.004045b8
add esp, 4
push 0
lea eax, [ebx + 0x20]
mov ecx, 1
mov edx, dword [0x412624]
call fcn.004045b8
add esp, 4
mov eax, dword [esi + 0x50]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x40]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x10]
push eax
push 0x40ee20
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x1c], edx
mov eax, dword [esi + 0x70]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0xc]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x198], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x19c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x1a0], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40f594
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x18]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40f594
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x1c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x58]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x20]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x18]
push eax
push 0x40f718
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40fc1c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x24]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40f594
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x28]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x1c]
push eax
push 0x40f718
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x2c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x38]
push eax
push 0x40fc1c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x2c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x28]
push eax
push 0x40f718
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x30]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0x3c]
push eax
push 0x40fc1c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x30]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x14], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x18], edx
mov eax, dword [esi + 0x74]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x34]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x198], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x19c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x1a0], edx
mov eax, dword [esi + 0x88]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x38]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0x30]
push eax
push 0x40fa84
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x3c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x48], edx
mov eax, dword [esi + 0x3c]
push eax
push 0x40fbdc
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x48]
push eax
push 0x40fffc
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x8c]
push eax
push 0x41245c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x5c]
push eax
push 0x4101ac
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x48]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x80]
push eax
push 0x4111a8
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40fc1c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x44]
push eax
push 0x40fee4
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x64]
push eax
push 0x410078
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 8]
push eax
push 0x40eb10
lea edx, [ebp - 0x5c]
mov ax, 1
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x2c], edx
mov eax, dword [esi + 8]
push eax
push 0x40eb04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x4c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x38]
push eax
push 0x40fbdc
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x64]
push eax
push 0x40fffc
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x24]
push eax
push 0x40fa84
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x54]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x44], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x48], edx
mov eax, dword [esi + 8]
push eax
push 0x40e968
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40fbdc
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0xa0]
push eax
push 0x40fd04
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x5c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x54]
push eax
push 0x40fc1c
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x60]
push eax
push 0x40fee4
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x48]
push eax
push 0x410078
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x5c]
mov eax, dword [eax + 0x10]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x18], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x4c]
push eax
push 0x4101ac
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x64]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x40], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x44], edx
mov eax, dword [esi + 0x20]
push eax
push 0x40f92c
lea edx, [ebp - 0x5c]
mov ax, 2
call fcn.0040bd2c
mov eax, dword [esi + 0x68]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x1d0], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x1d4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x1d8], edx
mov eax, dword [esi + 0x14]
push eax
push 0x40f594
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x6c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x34], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x38], edx
mov eax, dword [esi + 0x20]
push eax
push 0x40f910
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x6c]
push eax
push 0x40f718
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x20]
push eax
push 0x40f924
lea edx, [ebp - 0x5c]
mov ax, 1
call fcn.0040bd2c
mov eax, dword [esi + 0x74]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x6c]
push eax
push 0x40f718
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x74]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x80]
push eax
push 0x4115d0
lea edx, [ebp - 0x5c]
mov ax, 5
call fcn.0040bd2c
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x38], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x3c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x40], edx
mov eax, dword [esi + 0x80]
push eax
push 0x4115ec
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x84]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x50], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x54], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x58], edx
mov eax, dword [esi + 0x2c]
push eax
push 0x40fa84
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x88]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x84]
push eax
push 0x412350
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x88]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
mov eax, dword [esi + 0x90]
push eax
push 0x40fa84
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x8c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x30], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x34], edx
mov eax, dword [esi + 0x10]
push eax
push 0x40ee20
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x8c]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x20], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x24], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x28], edx
mov eax, dword [esi + 0x9c]
push eax
push 0x4113a8
lea edx, [ebp - 0x5c]
mov ax, 4
call fcn.0040bd2c
mov eax, dword [esi + 0x90]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x28], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x2c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x30], edx
mov eax, dword [esi + 0xa4]
push eax
push 0x412880
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0x98]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0x198], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x19c], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x1a0], edx
mov eax, dword [esi + 0x80]
push eax
push 0x4111a8
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0xa0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 4], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 8], edx
mov eax, dword [esi + 0x9c]
push eax
push 0x4111a8
lea edx, [ebp - 0x5c]
xor eax, eax
call fcn.0040bd2c
mov eax, dword [esi + 0xa0]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [ebp - 0x58]
mov dword [eax + 0x10], edx
mov edx, dword [ebp - 0x54]
mov dword [eax + 0x14], edx
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 4]
call fcn.0040db60
mov eax, dword [esi + 4]
xor edx, edx
mov dword [eax + 0x1ac], edx
xor edx, edx
mov eax, dword [esi + 0xc]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0xc]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x10]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x34]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x34]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x68]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x68]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x78]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x7c]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x7c]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x80]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x80]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x98]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x98]
call fcn.0040d478
xor edx, edx
mov eax, dword [esi + 0x9c]
call fcn.0040d4a0
xor edx, edx
mov eax, dword [esi + 0x9c]
call fcn.0040d478
mov edx, 0x4164b0
mov eax, dword [esi + 0xa4]
call fcn.004128cc
mov eax, dword [esi + 4]
mov eax, dword [eax + 0x64]
call fcn.00409b44
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x418881
lea eax, [ebp - 0x50]
mov edx, dword [0x40bb44]
call fcn.00403a5c
lea eax, [ebp - 0x34]
call fcn.004031b4
lea eax, [ebp - 0x30]
mov edx, dword [0x40bb60]
call fcn.00403a5c
ret