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

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x1074
call fcn.00438320
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
xor eax, eax
mov esi, 0x15
cmp esi, ebx
mov esi, 0
sbb esi, edi
jb 0x417e6d
mov dword [ecx + 0x1c], 8
jmp 0x418481
mov dword [esp + 0x14], edx
mov esi, ebx
add esi, 0xfffff000
mov ebp, edi
adc ebp, 0xffffffff
mov eax, 0x1000
cmp eax, ebx
mov edx, 0
sbb edx, edi
mov edx, 0
cmovge ebp, edx
cmovge esi, edx
sub ebx, esi
sbb edi, ebp
cmp ebx, eax
cmovae ebx, eax
test edi, edi
cmovne ebx, eax
lea eax, [esp + 0x74]
push ebx
push eax
push ebp
push esi
push dword [ecx + 0x44]
mov dword [esp + 0x14], ecx
call dword [ecx + 0x38]
add esp, 0x14
cmp eax, ebx
jne 0x417f95
mov dword [esp + 4], ebp
cmp ebx, 4
mov edx, dword [esp]
jb 0x417f14
add ebx, 0xfffffffc
mov dword [esp + 0xc], esi
cmp dword [esp + ebx + 0x74], 0x6054b50
jne 0x417f0b
mov eax, dword [edx]
mov ebp, esi
add ebp, ebx
mov edi, dword [esp + 4]
adc edi, 0
mov ecx, dword [edx + 4]
sub eax, ebp
sbb ecx, edi
mov esi, 0x15
cmp esi, eax
mov esi, dword [esp + 0xc]
mov eax, 0
sbb eax, ecx
jb 0x417fa4
lea eax, [ebx - 1]
test ebx, ebx
mov ebx, eax
jg 0x417ed5
mov eax, esi
mov ebp, dword [esp + 4]
or eax, ebp
je 0x418041
mov ebx, dword [edx]
mov eax, dword [edx + 4]
mov ecx, ebx
sub ecx, esi
mov edx, eax
sbb edx, ebp
mov edi, 0x10014
cmp edi, ecx
mov ecx, 0
sbb ecx, edx
jb 0x417f95
cmp esi, 0xffe
mov ecx, 0xffd
cmovae ecx, esi
test ebp, ebp
mov edx, 0xffd
cmovle esi, edx
cmove esi, ecx
mov ecx, 0
cmovle ebp, ecx
add esi, 0xfffff003
adc ebp, 0xffffffff
sub ebx, esi
sbb eax, ebp
mov ecx, 0x1000
cmp ebx, ecx
cmovae ebx, ecx
test eax, eax
cmovne ebx, ecx
push ebx
lea eax, [esp + 0x78]
push eax
push ebp
push esi
mov eax, dword [esp + 0x10]
push dword [eax + 0x44]
call dword [eax + 0x38]
jmp 0x417eb7
mov edx, dword [esp]
mov dword [edx + 0x1c], 7
jmp 0x41847f
push 0x16
lea eax, [esp + 0x78]
push eax
push edi
push ebp
push dword [edx + 0x44]
mov esi, edx
call dword [edx + 0x38]
add esp, 0x14
cmp eax, 0x16
jne 0x418478
cmp dword [esp + 0x74], 0x6054b50
jne 0x418032
cmp ebp, 0x4c
mov eax, edi
sbb eax, 0
mov edx, dword [esp]
jl 0x41807b
add ebp, 0xffffffec
adc edi, 0xffffffff
lea eax, [esp + 0x60]
push 0x14
push eax
push edi
push ebp
push dword [edx + 0x44]
mov eax, dword [esp + 0x14]
call dword [eax + 0x38]
mov edx, dword [esp + 0x14]
add esp, 0x14
cmp eax, 0x14
jne 0x41807b
cmp dword [esp + 0x60], 0x7064b50
jne 0x41807b
mov eax, dword [esp + 0x68]
mov edi, edx
mov edx, dword [edx]
mov esi, dword [edi + 4]
add edx, 0xffffffc8
adc esi, 0xffffffff
mov ecx, dword [esp + 0x6c]
cmp edx, eax
sbb esi, ecx
jae 0x41804e
mov dword [edi + 0x1c], 8
jmp 0x41847f
mov eax, dword [esp]
mov dword [eax + 0x1c], 8
jmp 0x41847f
test edx, edx
jne 0x417f98
jmp 0x41847f
lea edx, [esp + 0x28]
push 0x38
push edx
push ecx
push eax
push dword [edi + 0x44]
call dword [edi + 0x38]
add esp, 0x14
cmp eax, 0x38
mov edx, edi
jne 0x41807b
cmp dword [esp + 0x28], 0x6064b50
jne 0x41807b
mov eax, dword [edx + 0x48]
mov dword [eax + 0x34], 1
movzx eax, word [esp + 0x7e]
mov dword [edx + 0x10], eax
mov edi, dword [edx + 0x48]
cmp dword [edi + 0x34], 0
je 0x4180ae
xor eax, eax
mov ecx, 0x2b
cmp ecx, dword [esp + 0x2c]
mov ecx, 0
sbb ecx, dword [esp + 0x30]
jb 0x4180fd
mov dword [edx + 0x1c], 9
jmp 0x418481
movzx ecx, word [esp + 0x7c]
movzx esi, word [esp + 0x78]
movzx edx, word [esp + 0x7a]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp + 4], 0
cmp eax, ecx
jne 0x418117
mov ecx, esi
or ecx, edx
je 0x4180e7
cmp esi, 1
jne 0x418117
cmp edx, 1
jne 0x418117
imul ecx, eax, 0x2e
cmp ebx, ecx
jae 0x418132
mov eax, dword [esp]
mov dword [eax + 0x1c], 9
jmp 0x41847f
cmp dword [esp + 0x70], 1
jne 0x418126
cmp dword [esp + 0x4c], 0
je 0x41815f
mov dword [edx + 0x1c], 2
jmp 0x41847f
mov eax, dword [esp]
mov dword [eax + 0x1c], 0xa
jmp 0x41847f
mov dword [edx + 0x1c], 0xa
jmp 0x41847f
mov dword [esp + 0x24], esi
mov ecx, ebx
mov ebx, ebp
mov dword [esp + 0xc], ecx
add ebx, ecx
mov edx, dword [esp + 4]
adc edx, 0
mov ecx, dword [esp]
mov esi, dword [ecx + 4]
cmp dword [ecx], ebx
sbb esi, edx
jae 0x41818c
mov dword [ecx + 0x1c], 9
jmp 0x41847f
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov ebp, dword [esp + 0x50]
mov ebx, edx
mov edx, dword [esp + 0x54]
mov dword [ebx + 0x10], eax
test esi, esi
je 0x41848c
mov dword [ebx + 0x1c], 2
jmp 0x41847f
mov dword [ecx + 8], ebp
mov edx, dword [esp + 4]
mov dword [ecx + 0xc], edx
test eax, eax
je 0x418466
mov ebx, dword [esp + 0xc]
cmp dword [edi + 8], ebx
jae 0x4181c6
push ebx
push dword [edi + 0xc]
push dword [edi]
push dword [ecx + 0x34]
call dword [ecx + 0x30]
add esp, 0x10
test eax, eax
je 0x41849c
mov dword [edi], eax
mov dword [edi + 8], ebx
mov ecx, dword [esp]
mov dword [edi + 4], ebx
mov esi, dword [ecx + 0x10]
mov edi, dword [ecx + 0x48]
cmp dword [edi + 0x18], esi
jae 0x4181f5
push esi
push dword [edi + 0x1c]
push dword [edi + 0x10]
push dword [ecx + 0x34]
call dword [ecx + 0x30]
add esp, 0x10
test eax, eax
je 0x41849c
mov dword [edi + 0x10], eax
mov dword [edi + 0x18], esi
mov ecx, dword [esp]
bt dword [esp + 0x14], 0xb
mov dword [edi + 0x14], esi
jb 0x41822f
mov esi, dword [ecx + 0x10]
mov edi, dword [ecx + 0x48]
cmp dword [edi + 0x28], esi
jae 0x41822c
push esi
push dword [edi + 0x2c]
push dword [edi + 0x20]
push dword [ecx + 0x34]
call dword [ecx + 0x30]
add esp, 0x10
test eax, eax
je 0x41849c
mov dword [edi + 0x20], eax
mov dword [edi + 0x28], esi
mov ecx, dword [esp]
mov dword [edi + 0x24], esi
mov eax, dword [ecx + 0x48]
push ebx
push dword [eax]
mov edi, dword [esp + 0xc]
push edi
push ebp
push dword [ecx + 0x44]
mov esi, ecx
call dword [ecx + 0x38]
add esp, 0x14
cmp eax, ebx
jne 0x418478
mov dword [esp + 0x20], ebp
cmp dword [esi + 0x10], 0
mov ecx, esi
je 0x418466
mov eax, dword [ecx + 0x48]
mov edx, dword [eax]
add dword [esp + 0x20], 0x2e
adc edi, 0
xor ebp, ebp
cmp ebx, 0x2e
jb 0x418153
cmp dword [edx], 0x2014b50
jne 0x418153
mov eax, dword [ecx + 0x48]
mov dword [esp + 8], edx
sub edx, dword [eax]
bt dword [esp + 0x14], 0xb
mov eax, dword [eax + 0x10]
mov dword [eax + ebp*4], edx
jb 0x4182a2
mov eax, dword [ecx + 0x48]
mov eax, dword [eax + 0x20]
mov dword [eax + ebp*4], ebp
mov edx, dword [esp + 8]
mov eax, dword [edx + 0x14]
mov dword [esp + 0x18], eax
mov esi, dword [edx + 0x18]
mov eax, dword [ecx + 0x48]
cmp dword [eax + 0x38], 0
jne 0x4183be
movzx eax, word [edx + 0x1e]
test ax, ax
je 0x4183be
mov ecx, dword [edx + 0x2a]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
cmp esi, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
cmova edx, esi
mov esi, dword [esp + 0x10]
cmp edx, ecx
cmovbe edx, ecx
cmp edx, 0xffffffff
mov edx, dword [esp + 8]
mov ecx, dword [esp]
jne 0x4183be
mov dword [esp + 4], edi
movzx ecx, word [edx + 0x1c]
movzx edi, ax
mov eax, ecx
mov dword [esp + 0x1c], ecx
lea eax, [ecx + edi]
add eax, 0x2e
mov dword [esp + 0xc], ebx
cmp eax, ebx
jbe 0x418357
push edi
call fcn.0043fb04
add esp, 4
test eax, eax
je 0x41849c
mov esi, eax
mov ecx, dword [esp + 0x1c]
add ecx, dword [esp + 0x20]
mov eax, dword [esp + 4]
adc eax, 0
push edi
push esi
push eax
push ecx
mov eax, dword [esp + 0x10]
push dword [eax + 0x44]
call dword [eax + 0x38]
add esp, 0x14
cmp eax, edi
jne 0x4184e3
mov eax, esi
jmp 0x418367
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1c]
lea esi, [eax + ecx]
add esi, 0x2e
xor eax, eax
cmp edi, 3
jbe 0x4184c3
movzx ecx, word [esi + 2]
lea edx, [ecx + 4]
cmp edx, edi
ja 0x4184c3
cmp word [esi], 1
je 0x418390
add esi, edx
sub edi, ecx
add edi, 0xfffffffc
jne 0x418367
jmp 0x4183a2
mov edx, dword [esp]
mov ecx, dword [edx + 0x48]
xor edi, edi
inc edi
mov dword [ecx + 0x34], edi
mov ecx, dword [edx + 0x48]
mov dword [ecx + 0x38], edi
push eax
call fcn.0043fa5a
add esp, 4
mov ecx, dword [esp]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x4183e6
cmp esi, 0xffffffff
je 0x4183e6
cmp dword [edx + 0xa], 0
jne 0x4183da
cmp esi, eax
jne 0x418153
test esi, esi
je 0x4183e6
test eax, eax
je 0x418153
movzx eax, word [edx + 0x22]
cmp eax, 0xffff
je 0x4184d1
cmp ax, 1
je 0x418405
cmp dword [esp + 0x24], eax
jne 0x4184d1
mov esi, dword [esp + 0x18]
cmp esi, 0xffffffff
je 0x41842d
xor eax, eax
add esi, dword [edx + 0x2a]
setb al
add esi, 0x1e
adc eax, 0
mov edx, dword [ecx + 4]
cmp dword [ecx], esi
sbb edx, eax
mov edx, dword [esp + 8]
jb 0x418153
test byte [edx + 9], 0x20
jne 0x4184da
movzx eax, word [edx + 0x1c]
mov esi, edx
movzx edx, word [edx + 0x1e]
add edx, eax
movzx eax, word [esi + 0x20]
add eax, edx
add eax, 0x2e
sub ebx, eax
jb 0x418153
add esi, eax
mov eax, ebp
inc eax
mov ebp, eax
cmp eax, dword [ecx + 0x10]
mov edx, esi
jb 0x41826d
bt dword [esp + 0x14], 0xb
jb 0x418473
call fcn.0041feb2
xor eax, eax
inc eax
jmp 0x418481
mov dword [esi + 0x1c], 0x14
xor eax, eax
add esp, 0x1074
pop esi
pop edi
pop ebx
pop ebp
ret
test edx, edx
je 0x4184a8
mov eax, dword [esp]
mov dword [eax + 0x1c], 0xf
jmp 0x41847f
mov eax, dword [esp]
mov dword [eax + 0x1c], 0x10
jmp 0x41847f
mov ebx, ebp
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x58]
jmp 0x4180d3
push eax
call fcn.0043fa5a
add esp, 4
jmp 0x4180ee
mov dword [ecx + 0x1c], 0xa
jmp 0x41847f
mov dword [ecx + 0x1c], 5
jmp 0x41847f
push esi
call fcn.0043fa5a
add esp, 4
mov eax, dword [esp]
mov dword [eax + 0x1c], 0x14
jmp 0x41847f