Function at 0x401874
Capabilities:
Packed with generic packer

Disassembly:
enter 0x10, 2
pushal
mov esi, dword [ebp - 4]
lea eax, [esi - 0x94]
mov ebx, 0x64
call dword [0x4271e8]
call fcn.004010a8
mov eax, 0x40e088
mov ebx, 0xc
call dword [0x4271e8]
call dword [0x427208]
mov eax, 0x4030b8
mov ebx, 0xff
call dword [0x4271d4]
mov eax, 0x41afe0
mov ebx, 0x42
call fcn.00401048
mov eax, dword [0x427174]
cmp dword [eax], 0
je 0x401b3d
mov eax, 0x40e094
mov ebx, 0x25
call dword [0x4271e8]
mov eax, dword [0x427174]
mov eax, dword [eax]
call dword [0x4271e4]
call dword [0x427208]
mov eax, 0x40e0bc
mov ebx, 1
call dword [0x4271e8]
call dword [0x427208]
call fcn.004010b0
call dword [0x427208]
mov eax, 0
mov ebx, 0
call dword [0x4271e8]
mov eax, 0
mov ebx, 0
call dword [0x4271e8]
mov eax, 0
mov ebx, 0
call dword [0x4271e8]
mov al, 3
call dword [0x427214]
push 0
mov al, 1
mov bl, 1
mov cl, 1
mov edx, 0
call fcn.00401070
jmp 0x401bfb
mov eax, dword [esi - 0x28]
inc dword [eax + 4]
mov eax, 0x7ca6
call dword [0x4271e4]
push 0
mov eax, dword [esi - 0x28]
lea eax, [eax + 4]
mov bl, 6
mov ecx, 0
mov edx, 4
call dword [0x4271c4]
mov ebx, eax
mov eax, 0xf
mov ecx, 0
mov edx, 0
call dword [0x4271fc]
mov eax, ebx
call dword [0x4271ac]
mov eax, 0
mov ebx, 0
call fcn.00401010
mov bl, 0
mov eax, dword [0x408626]
mov dword [ebp - 0xc], eax
fild dword [ebp - 0xc]
mov eax, dword [esi - 0x2c]
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fcompp
fnstsw ax
test ah, 0x41
je 0x4019ff
mov eax, dword [0x408626]
mov dword [ebp - 0x14], eax
fild dword [ebp - 0x14]
mov eax, dword [esi - 0x30]
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
fcompp
fnstsw ax
test ah, 1
jne 0x4019ff
mov bl, 1
cmp bl, 0
jne 0x401a09
jmp 0x401bc5
mov eax, 0x408678
mov ebx, 0x41b01c
call dword [0x4271b8]
mov edx, eax
mov eax, 0x4085c4
mov ebx, 0x41ad9c
call dword [0x4271b8]
mov ebx, eax
mov eax, edx
mov ecx, 0x40e0c0
call dword [0x427164]
mov eax, edx
call dword [0x4271ac]
mov eax, ebx
call dword [0x4271ac]
mov eax, 0x41b238
mov ebx, 0x41b178
call dword [0x427190]
mov eax, dword [0x427174]
cmp dword [eax], 0
je 0x401ab2
mov eax, 0x408678
mov ebx, 0x41b01c
call dword [0x4271b8]
mov edx, eax
mov eax, 0x4085c4
mov ebx, 0x41ad9c
call dword [0x4271b8]
mov ebx, eax
mov eax, edx
mov ecx, 0x40e0ec
call dword [0x427164]
mov eax, edx
call dword [0x4271ac]
mov eax, ebx
call dword [0x4271ac]
mov eax, 0x41b238
call dword [0x427184]
jmp 0x401afe
mov eax, 0x408678
mov ebx, 0x41b01c
call dword [0x4271b8]
mov edx, eax
mov eax, 0x4085c4
mov ebx, 0x41ad9c
call dword [0x4271b8]
mov ebx, eax
mov eax, edx
mov ecx, 0x40e118
call dword [0x427164]
mov eax, edx
call dword [0x4271ac]
mov eax, ebx
call dword [0x4271ac]
mov eax, 0x41b238
call dword [0x42719c]
mov eax, dword [esi - 0x28]
mov eax, dword [eax + 4]
mov ebx, 0x1f4
cdq
idiv ebx
mov eax, edx
xor eax, 0x1f4
jge 0x401b1f
test edx, edx
je 0x401b1f
add edx, 0x1f4
cmp edx, 0
jne 0x401b38
mov eax, 0x41afe0
call fcn.00401038
mov eax, 0x41afe0
call fcn.00401060
jmp 0x401bc5
mov eax, dword [esi - 0x28]
mov dword [eax + 4], 0
mov eax, 0x7c15
call dword [0x4271e4]
mov eax, 0x41afe0
call fcn.00401050
call dword [0x4271e4]
mov eax, 0xf
mov ebx, 0
mov ecx, 0
call dword [0x4271f8]
mov eax, 0x7ca6
call dword [0x4271e4]
mov eax, 0
call dword [0x4271e4]
mov eax, 0xf
mov ebx, 0
mov ecx, 0
call dword [0x4271f8]
mov eax, 0
mov ebx, 0
call fcn.00401010
mov eax, 0x41afe0
call fcn.00401060
mov eax, 0x41afe0
call fcn.00401058
mov eax, 0x41afe0
call fcn.00401040
mov eax, dword [0x427174]
cmp dword [eax], 0
je 0x401968
mov eax, 0x41afe0
call fcn.00401038
mov eax, 0x41afe0
call fcn.00401060
mov eax, 0x41afe0
call fcn.00401030
popal
leave
ret