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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x28]
cmp eax, dword [ecx + 8]
jbe 0x413822
sub esp, 0xa8
mov ebx, dword [0x6cff4c]
cmp ebx, 0
je 0x413082
add esp, 0xa8
ret
lea ebx, [esp + 0xac]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x58]
mov ecx, dword [ebx]
mov dword [esp + 0x54], ecx
xor ebp, ebp
cmp ecx, ebp
jne 0x4130b6
mov ebx, 0x5f92b4
mov dword [esp], ebx
mov dword [esp + 4], 0x2b
call fcn.00429580
mov ecx, dword [esp + 0x54]
movzx ebp, byte [ecx + 0xf]
mov ebx, ebp
and ebx, 0x1f
cmp bl, 0x16
je 0x41312c
mov dword [esp], ecx
call fcn.00447e70
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5f8828
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x28
mov dword [esp + 0x70], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x10], eax
mov ebx, 0x5f04bc
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xd
call fcn.0043efd0
lea ebx, [esp + 0x1c]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429580
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x40], ecx
mov ebp, dword [ecx + 0x20]
xor ebx, ebx
cmp ebp, ebx
jne 0x41314e
mov ebx, 0x5f0bd9
mov dword [esp], ebx
mov dword [esp + 4], 0xe
call fcn.00429580
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 4]
mov dword [esp], ebp
call fcn.00413830
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 8]
mov dword [esp + 0x5c], edx
xor ebp, ebp
cmp edx, ebp
jne 0x413219
mov ebp, dword [ecx + 4]
mov ebx, 0x6cfd38
cmp ebp, ebx
jne 0x41318a
add esp, 0xa8
ret
mov eax, 0x6ab400
xor ebp, ebp
cmp eax, ebp
je 0x4131f8
mov esi, dword [eax + 0x38]
mov ebp, dword [ecx + 4]
cmp esi, ebp
ja 0x4131b0
mov esi, dword [ecx + 4]
mov ebp, dword [eax + 0x3c]
cmp esi, ebp
jae 0x4131b0
add esp, 0xa8
ret
mov esi, dword [eax + 0x40]
mov ebp, dword [ecx + 4]
cmp esi, ebp
ja 0x4131c4
mov esi, dword [ecx + 4]
mov ebp, dword [eax + 0x44]
cmp esi, ebp
jb 0x4131a9
mov esi, dword [eax + 0x48]
mov ebp, dword [ecx + 4]
cmp esi, ebp
ja 0x4131d8
mov esi, dword [ecx + 4]
mov ebp, dword [eax + 0x4c]
cmp esi, ebp
jb 0x4131a9
mov esi, dword [eax + 0x50]
mov ebp, dword [ecx + 4]
cmp esi, ebp
ja 0x4131ec
mov esi, dword [ecx + 4]
mov ebp, dword [eax + 0x54]
cmp esi, ebp
jb 0x4131a9
mov eax, dword [eax + 0xac]
xor ebp, ebp
cmp eax, ebp
jne 0x413195
mov ebx, 0x5fa90d
mov dword [esp], ebx
mov dword [esp + 4], 0x34
call fcn.00429580
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov ebp, dword [ecx + 4]
cmp ebp, edx
je 0x413252
mov ebp, dword [esi + 0x20]
xor ebx, ebx
cmp ebp, ebx
je 0x413804
mov ebp, dword [esi + 0x20]
movzx ebx, byte [ebp + 0xf]
and ebx, 0x80
cmp bl, 0
je 0x413804
mov ebp, dword [esi + 0x20]
mov ebx, dword [ebp]
cmp ebx, 0x10
jae 0x413804
lea ebx, [esp + 0xb4]
mov dword [esp + 0x50], ebx
mov eax, dword [ebx]
xor ebp, ebp
cmp eax, ebp
jne 0x41328c
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov edx, 0x44b440
mov dword [eax], edx
mov dword [eax + 4], ecx
mov dword [esp], eax
call fcn.0044fd80
add esp, 0xa8
ret
movzx ebp, byte [eax + 0xf]
mov ebx, ebp
and ebx, 0x1f
cmp bl, 0x13
je 0x413306
mov dword [esp + 0x44], eax
mov dword [esp], eax
call fcn.00447e70
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5f8b7b
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x29
mov dword [esp + 0x70], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x10], eax
mov ebx, 0x5f1140
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0x10
call fcn.0043efd0
lea ebx, [esp + 0x1c]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429580
mov eax, dword [esp + 0x44]
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov ebx, dword [esp + 0x48]
movzx ebp, word [ebx + 0x22]
mov ebx, ebp
and ebx, 0x8000
cmp bx, 0
jne 0x4137fa
xor eax, eax
cmp al, 0
je 0x4133d8
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call fcn.00447e70
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp], ebx
call fcn.00447e70
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5f73e5
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x22
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov ebx, 0x5f0867
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xe
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], eax
mov ebx, 0x5f1b48
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], 0x12
call fcn.0043f0d0
lea ebx, [esp + 0x2c]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429580
mov ebx, dword [esp + 0x48]
movzx ebp, word [ebx + 0x22]
mov ebx, ebp
and ebx, 0x8000
cmp bx, 0
jne 0x4137f0
xor eax, eax
cmp al, 0
jne 0x413757
mov ebx, dword [esp + 0x48]
movzx ebp, word [ebx + 0x20]
cmp bp, 1
jne 0x413757
mov ecx, dword [esp + 0x48]
xor ebx, ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
mov eax, 0x24
movzx ebp, byte [ecx + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x413440
add eax, 0x10
mov edx, ecx
add edx, eax
movzx ebp, word [ecx + 0x20]
cmp ebp, 0x100000
ja 0x413750
cmp edx, 0
je 0x413749
mov ecx, 0x100000
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], ecx
lea ebx, [esp + 0x84]
cmp dword [ebx + 4], 0
jbe 0x413742
mov ebp, dword [ebx]
mov eax, dword [ebp]
mov dword [esp + 0x4c], eax
mov ebp, dword [esp + 0x54]
cmp eax, ebp
jne 0x4135f3
xor edx, edx
mov eax, dword [esp + 0x48]
xor ebx, ebx
mov ecx, 0x24
movzx ebp, byte [eax + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x4134bb
add ecx, 0x10
movzx ebp, word [eax + 0x22]
mov ebx, ebp
and ebx, 0x7fff
mov esi, ebx
mov edi, eax
add edi, ecx
movzx ebp, word [eax + 0x20]
mov word [esp + 0x36], bp
movzx ebp, word [eax + 0x20]
mov ebx, ebp
add ebx, esi
mov ecx, ebx
movzx ebx, word [esp + 0x36]
mov eax, ebx
movzx ebx, cx
cmp ebx, 0x100000
ja 0x4135ec
cmp eax, ebx
ja 0x4135ec
mov esi, ebx
sub esi, eax
mov ecx, 0x100000
sub ecx, eax
mov ebx, edi
cmp edi, 0
je 0x4135e5
cmp ecx, 0
je 0x413520
mov ebp, eax
imul ebp, ebp, 4
add ebx, ebp
mov eax, ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ecx
xor ecx, ecx
mov dword [esp + 0x3c], esi
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jge 0x413560
mov esi, dword [eax]
movzx ebp, byte [esi + 0xd]
add edx, ebp
dec edx
dec ebp
mov ebx, ebp
xor ebx, 0xffffffff
and edx, ebx
mov ebx, dword [esi]
add edx, ebx
add eax, 4
inc ecx
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jl 0x41353f
mov ebx, 4
mov ebp, edx
add ebp, ebx
dec ebp
dec ebx
xor ebx, 0xffffffff
and ebp, ebx
mov dword [esp + 0x38], ebp
call fcn.00412c30
xor eax, eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x90]
mov ecx, 0x44b470
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x14], ecx
mov dword [esp], eax
call fcn.0044fd80
add esp, 0xa8
ret
mov dword [edi], eax
jmp 0x413514
call fcn.00427930
ud2
movzx ebp, byte [eax + 0xf]
mov ebx, ebp
and ebx, 0x1f
cmp bl, 0x16
jne 0x4136e9
mov dword [esp], eax
call fcn.00447f10
mov ebx, dword [esp + 4]
xor ebp, ebp
cmp ebx, ebp
je 0x4136ce
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call fcn.00447f10
mov ebx, dword [esp + 4]
xor ebp, ebp
cmp ebx, ebp
je 0x4136ce
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call fcn.00447e70
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp], ebx
call fcn.00447e70
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5f73e5
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x22
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov ebx, 0x5f0867
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xe
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], eax
call fcn.0043f050
lea ebx, [esp + 0x24]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429580
jmp 0x41349d
mov ebx, dword [esp + 0x4c]
mov ecx, dword [ebx + 0x20]
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 0x20]
cmp ecx, ebp
jne 0x413635
jmp 0x41349d
movzx ebp, byte [eax + 0xf]
mov ebx, ebp
and ebx, 0x1f
cmp bl, 0x14
jne 0x413635
mov ebp, dword [eax + 0x28]
cmp ebp, 0
jne 0x413708
jmp 0x41349d
lea ebx, [esp + 0xac]
mov dword [esp], eax
lea edi, [esp + 4]
cld
mov ecx, dword [ebx]
mov dword [edi], ecx
mov ecx, dword [ebx + 4]
mov dword [edi + 4], ecx
mov dword [esp + 0xc], 0
call fcn.0040b800
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x41373d
jmp 0x41349d
jmp 0x413635
call fcn.004278c0
ud2
mov dword [edx], eax
jmp 0x41345d
call fcn.00427930
ud2
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
call fcn.00447e70
mov ebx, dword [esp + 4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp], ebx
call fcn.00447e70
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov dword [esp], 0
mov ebx, 0x5f73e5
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x22
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov ebx, 0x5f0867
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], 0xe
mov dword [esp + 0x60], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], eax
call fcn.0043f050
lea ebx, [esp + 0x24]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 4], ecx
call fcn.00429580
jmp 0x41340f
mov eax, 1
jmp 0x4133f4
mov eax, 1
jmp 0x41332a
mov ebx, 0x5fbb89
mov dword [esp], ebx
mov dword [esp + 4], 0x41
call fcn.00429580
mov ecx, dword [esp + 0x58]
jmp 0x413252
call fcn.0044fe90
jmp fcn.00413050