Function at 0x410e70
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x46bf38
push eax
mov dword fs:[0], esp
sub esp, 0x60
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x10]
xor ebx, ebx
test eax, 0xffff0fff
push edi
mov dword [esi + 0x3c], ebx
jne 0x410ef2
xor eax, eax
lea ecx, [esi + 0x30]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov edx, dword [esi]
mov ecx, esi
xor edi, edi
call dword [edx + 0x24]
test eax, eax
jle 0x411535
cmp edi, ebx
jl 0x410eed
cmp edi, dword [esi + 0x50]
jge 0x410eed
mov eax, dword [esi + 0x4c]
mov ecx, dword [eax + edi*4]
call fcn.00410e70
mov edx, dword [esi]
mov ecx, esi
inc edi
call dword [edx + 0x24]
cmp edi, eax
jl 0x410eb8
mov al, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
jmp fcn.0044727a
mov ecx, esi
call fcn.00424760
test al, al
je 0x410f0d
mov ecx, esi
call fcn.00424750
test al, al
mov byte [esp + 0x13], 1
jne 0x410f12
mov byte [esp + 0x13], 0
mov ecx, esi
xor edi, edi
call fcn.00424760
test al, al
je 0x410f28
mov ecx, esi
call fcn.00424ba0
mov edi, eax
mov ecx, esi
call fcn.00424850
mov ecx, esi
call fcn.00410230
mov ecx, esi
call fcn.0040e1c0
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
neg ecx
adc eax, ebx
neg eax
push eax
push ecx
mov ecx, esi
call fcn.0040d7e0
mov eax, dword [esi + 0x10]
and eax, 0xffff0fff
or ebp, 0xffffffff
cmp eax, 3
jne 0x410f6f
push ebp
push ebp
mov ecx, esi
call fcn.00424730
mov ecx, eax
jmp 0x410f7f
mov ecx, dword [esi + 0x20]
mov eax, dword [esi + 0x24]
neg ecx
adc eax, ebx
neg eax
push eax
push ecx
mov ecx, esi
call fcn.0040d740
mov eax, dword [esi + 0x10]
and eax, 0xffff0fff
cmp eax, 2
je 0x410f96
cmp eax, 1
jne 0x410fab
mov ecx, dword [esi + 0x28]
mov eax, dword [esi + 0x2c]
neg ecx
adc eax, ebx
neg eax
push eax
push ecx
mov ecx, esi
call fcn.0040d6f0
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
neg ecx
adc eax, ebx
neg eax
push eax
push ecx
mov ecx, esi
call fcn.0040d790
mov ecx, esi
call fcn.0040e140
mov ecx, esi
call fcn.004103e0
mov eax, dword [esi + 0x10]
and eax, 0xffff0fff
cmp eax, 4
jne 0x411161
lea ecx, [esp + 0x20]
call fcn.00409420
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x7c], ebx
call fcn.0040f750
mov eax, dword [eax]
push ebx
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x80], 1
call fcn.0042e866
mov edi, eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 0
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411031
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
cmp edi, ebx
je 0x411123
lea esp, [esp]
lea ecx, [esp + 0x20]
call fcn.0042e597
mov edi, eax
mov eax, dword [esp + 0x20]
push 0x10
lea ecx, [esp + 0x24]
call dword [eax + 0x38]
test eax, eax
jne 0x41111b
call fcn.0044f512
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x50], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 2
call fcn.0042eb08
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x7c], 3
call fcn.00402440
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], 2
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4110b7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea ecx, [esp + 0x20]
call fcn.00409450
lea ecx, [esp + 0x20]
mov dword [esp + 0x68], eax
call fcn.00409480
mov dword [esp + 0x58], eax
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x60], edx
call fcn.0042e54f
lea ecx, [esp + 0x50]
push ecx
mov ecx, esi
call fcn.004107e0
push ebx
push 1
mov ecx, esi
call fcn.0040d740
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x78], 0
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41111b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
cmp edi, ebx
jne 0x411040
mov ecx, esi
call fcn.00410460
mov al, byte [esp + 0x13]
test al, al
je 0x41113f
push esi
call fcn.004248e0
mov ecx, eax
call fcn.00425af0
lea ecx, [esp + 0x20]
mov dword [esp + 0x78], ebp
call fcn.00409440
mov al, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
cmp eax, 1
jne 0x4111ae
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0040f5c0
push eax
mov dword [esp + 0x7c], 4
call fcn.0040a450
mov bl, al
mov eax, dword [esp + 0x18]
add esp, 4
neg bl
sbb bl, bl
add eax, 0xfffffff0
inc bl
mov dword [esp + 0x78], ebp
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41120e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x41120e
cmp eax, 3
jne 0x4111d1
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0040f5c0
mov eax, dword [eax]
push eax
mov dword [esp + 0x7c], 5
call fcn.0042c790
jmp 0x411180
cmp eax, 2
jne 0x411281
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.0040f5c0
mov eax, dword [eax]
push eax
mov dword [esp + 0x7c], 6
call fcn.0040b6a0
add esp, 4
mov bl, al
neg bl
sbb bl, bl
lea ecx, [esp + 0x14]
inc bl
mov dword [esp + 0x78], ebp
call fcn.004018d0
test bl, bl
je 0x411281
mov ecx, esi
call fcn.00424730
test eax, eax
jne 0x41123e
call fcn.00403880
mov ecx, eax
call fcn.004039a0
xor al, al
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov ecx, esi
call fcn.00424730
mov ecx, eax
call fcn.004103e0
mov ecx, esi
call fcn.00424730
push esi
mov ecx, esi
mov edi, eax
call fcn.00424730
mov ecx, eax
call fcn.0040dff0
push eax
mov ecx, edi
call fcn.0040e0d0
xor al, al
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov ecx, dword [esi + 0x10]
mov eax, ecx
and eax, 0xffff0fff
cmp eax, 3
jne 0x411415
lea ecx, [esp + 0x38]
call fcn.00409420
lea ecx, [esp + 0x14]
push ecx
mov ebx, 7
mov ecx, esi
mov dword [esp + 0x7c], ebx
call fcn.0040f5c0
mov eax, dword [eax]
push 0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], 8
call fcn.0042e866
mov edi, eax
mov eax, dword [esp + 0x14]
add eax, 0xfffffff0
mov byte [esp + 0x78], bl
lea edx, [eax + 0xc]
mov ecx, ebp
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4112eb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test edi, edi
je 0x4113ec
lea ecx, [esp + 0x38]
call fcn.0042e597
mov eax, dword [esp + 0x38]
push 0x10
lea ecx, [esp + 0x3c]
call dword [eax + 0x38]
test eax, eax
jne 0x4113ec
call fcn.0044f512
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x50], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 9
call fcn.0042eb08
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x7c], 0xa
call fcn.00402440
lea ecx, [esp + 0x14]
mov byte [esp + 0x78], 9
call fcn.004018d0
lea ecx, [esp + 0x38]
call fcn.00409450
lea ecx, [esp + 0x38]
mov dword [esp + 0x68], eax
call fcn.00409480
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], edx
call fcn.0042e54f
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
mov dword [esi + 0x30], edx
mov edx, dword [esp + 0x58]
push ecx
push edx
mov ecx, esi
mov dword [esi + 0x34], eax
call fcn.0040d790
mov ecx, dword [esi + 0x34]
mov eax, dword [esi + 0x30]
lea edx, [esp + 0x18]
mov dword [esp + 0x1c], ecx
push edx
mov ecx, esi
mov dword [esp + 0x1c], eax
call fcn.0040d830
push 0
push 1
mov ecx, esi
call fcn.00424730
mov ecx, eax
call fcn.0040d740
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
mov byte [esp + 0x78], bl
lea ecx, [eax + 0xc]
mov edx, ebp
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4113ec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, esi
call fcn.00410460
lea ecx, [esp + 0x38]
mov dword [esp + 0x78], ebp
call fcn.00409440
mov al, 1
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
cmp eax, 2
jne 0x411459
shr ecx, 0xf
test cl, 1
jne 0x411459
push ecx
mov eax, esp
mov dword [esp + 0x18], esp
push eax
mov ecx, esi
call fcn.0040f5c0
mov dword [esp + 0x7c], ebp
call fcn.00429ec0
mov ecx, eax
call fcn.00429fa0
test al, al
je 0x411459
call fcn.00417cb0
mov ecx, eax
call fcn.00417fe0
test al, al
je 0x411535
mov eax, dword [esi + 0x10]
mov ecx, eax
and ecx, 0xffff0fff
cmp ecx, 2
jne 0x4114a7
shr eax, 0xf
test al, 1
jne 0x4114a7
push ecx
mov edx, esp
mov dword [esp + 0x18], esp
push edx
mov ecx, esi
call fcn.0040f5c0
mov dword [esp + 0x7c], ebp
call fcn.00429ec0
mov ecx, eax
call fcn.0042a030
test al, al
je 0x4114a7
call fcn.00417cb0
mov ecx, eax
call fcn.00418010
test al, al
je 0x411535
mov ecx, dword [esi + 0x40]
mov ebp, dword [esi + 0x44]
mov eax, 1
sub eax, ecx
mov ecx, 0
sbb ecx, ebp
push ecx
push eax
mov ecx, esi
call fcn.0040d7e0
mov edx, dword [esi + 0x10]
and edx, 0xffff0fff
cmp edx, 1
mov byte [esi + 0x39], 0
jne 0x411504
call fcn.00403880
mov ecx, eax
call fcn.004038f0
test al, al
je 0x4114ed
mov ecx, esi
call fcn.004105b0
call fcn.00403880
mov ecx, eax
call fcn.00403900
test al, al
je 0x411504
mov ecx, esi
call fcn.004106d0
push 0
mov ecx, esi
call fcn.004108e0
mov al, byte [esp + 0x13]
test al, al
je 0x411522
push esi
call fcn.004248e0
mov ecx, eax
call fcn.00425af0
mov ecx, esi
call fcn.00424760
test al, al
je 0x411535
push edi
mov ecx, esi
call fcn.00424bd0
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov al, 1
mov dword fs:[0], ecx
pop ebx
add esp, 0x6c
ret