Function at 0x411a50
Capabilities:
64-bit execution via heavens gate

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x19c
mov eax, dword [0x487fb0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x48f478]
mov edx, dword [0x48f47c]
push ebx
push esi
push edi
test eax, eax
jne 0x411a89
test edx, edx
jne 0x411a89
call fcn.00411740
mov dword [0x48f478], eax
mov dword [0x48f47c], edx
mov dword [ebp - 0x64], edx
mov ebx, eax
test eax, eax
jne 0x411a9a
test edx, edx
je 0x411cfd
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x5c], ecx
test ecx, ecx
je 0x411af3
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
push 0x33
call 0x411ab1
add dword [esp], 5
retf
mov eax, dword [ebp - 0xc]
cdq
mov ecx, edx
mov edx, dword [ebp - 0x64]
add eax, ebx
lea esi, [ebp - 0x198]
adc ecx, edx
mov dword [ebp - 0x5c], esi
test esi, esi
je 0x411b64
test eax, eax
jne 0x411b15
test ecx, ecx
je 0x411b64
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
push 0x33
call 0x411b22
add dword [esp], 5
retf
mov ecx, dword [ebp - 0x110]
xor eax, eax
test ecx, ecx
je 0x411cff
add ecx, ebx
adc eax, edx
lea edx, [ebp - 0x90]
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x411bdc
test ecx, ecx
jne 0x411b8d
test eax, eax
je 0x411bdc
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
push 0x33
call 0x411b9a
add dword [esp], 5
retf
mov eax, dword [ebp - 0x7c]
lea ecx, [eax*4]
push ecx
call fcn.0045188b
add esp, 4
mov dword [ebp - 0x50], eax
test eax, eax
je 0x411cfd
mov ecx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x64]
lea edx, [ebp - 0x50]
mov dword [ebp - 0x60], edx
lea edx, [ecx*4]
mov ecx, dword [ebp - 0x74]
push edx
xor edx, edx
add ecx, ebx
adc edx, edi
push edx
push ecx
push eax
mov byte [ebp - 0x5c], 1
call fcn.00411620
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + eax]
push ecx
call fcn.0045188b
add esp, 0x14
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x411c7c
mov ecx, dword [ebp - 0x7c]
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x58], edx
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x6c]
push edx
xor edx, edx
add ecx, ebx
adc edx, edi
push edx
push ecx
push eax
mov byte [ebp - 0x54], 1
call fcn.00411620
mov eax, dword [ebp - 0x78]
lea ecx, [eax*4]
push ecx
call fcn.0045188b
mov edx, eax
add esp, 0x14
test edx, edx
jne 0x411c86
lea esi, [ebp - 0x58]
call fcn.004114c0
lea esi, [ebp - 0x60]
call fcn.004114c0
jmp 0x411cfd
mov eax, dword [ebp - 0x78]
lea ecx, [eax*4]
mov eax, dword [ebp - 0x70]
push ecx
xor ecx, ecx
add eax, ebx
adc ecx, edi
push ecx
push eax
push edx
call fcn.00411620
xor esi, esi
add esp, 0x10
cmp dword [ebp - 0x7c], esi
jbe 0x411ccd
lea esp, [esp]
mov eax, dword [edx + esi*4]
xor ecx, ecx
add eax, ebx
adc ecx, edi
push ecx
push eax
call fcn.004116a0
add esp, 8
test al, al
jne 0x411d12
inc esi
cmp esi, dword [ebp - 0x7c]
jb 0x411cb0
push edx
call fcn.00451955
mov eax, dword [ebp - 0x4c]
add esp, 4
test eax, eax
je 0x411ced
push eax
call fcn.00451955
add esp, 4
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x411cfd
push eax
call fcn.00451955
add esp, 4
xor eax, eax
xor edx, edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00451380
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + esi*2]
mov eax, dword [ebp - 0x50]
mov esi, dword [eax + ecx*4]
xor eax, eax
add esi, ebx
adc eax, edi
push edx
mov dword [ebp - 0x54], eax
call fcn.00451955
mov eax, dword [ebp - 0x4c]
add esp, 4
test eax, eax
je 0x411d48
push eax
call fcn.00451955
add esp, 4
mov dword [ebp - 0x4c], 0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x411d58
push eax
call fcn.00451955
add esp, 4
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x54]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.00451380
mov esp, ebp
pop ebp
ret