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

Disassembly:
push 0xffffffffffffffff
push 0x441cd6
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x44f1a0]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x44f1a0]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebp, dword [esp + 0xd8]
xor ebx, ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ebx
lea edx, [esp + 0xdc]
lea ecx, [esp + 0x7c]
mov dword [esp + 0xd0], ebx
call fcn.0042af7f
mov byte [esp + 0xd0], 1
mov eax, dword [esp + 0x90]
cmp eax, ebx
lea edi, [ebx + 0x10]
je 0x41213c
xor esi, esi
cmp eax, ebx
jbe 0x411ac2
cmp esi, eax
jbe 0x411a73
call fcn.0042c040
mov eax, dword [esp + 0x90]
cmp dword [esp + 0x94], edi
mov ecx, dword [esp + 0x80]
jae 0x411a8a
lea ecx, [esp + 0x80]
cmp byte [ecx + esi], 0x3d
jne 0x411abb
cmp esi, eax
jbe 0x411a99
call fcn.0042c040
cmp dword [esp + 0x94], edi
mov eax, dword [esp + 0x80]
jae 0x411ab0
lea eax, [esp + 0x80]
mov byte [eax + esi], 0x7c
mov eax, dword [esp + 0x90]
add esi, 1
cmp esi, eax
jb 0x411a73
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xe8]
call fcn.0040336e
cmp dword [esp + 0xf4], edi
mov ecx, dword [esp + 0xe0]
jae 0x411af0
lea ecx, [esp + 0xe0]
mov edx, dword [esp + 0xf0]
push edx
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0xbc]
call fcn.0042b092
lea esi, [esp + 0xa0]
mov byte [esp + 0xd8], 2
call fcn.00404e9a
push ebx
mov eax, esi
lea ecx, [esp + 0x6c]
call fcn.00406bb1
add esp, 0xc
mov ebp, dword [esp + 0xf0]
and ebp, 0x80000001
jns 0x411b43
dec ebp
or ebp, 0xfffffffe
inc ebp
mov dword [esp + 0x5c], 0xf
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], 0
mov byte [esp + 0xd0], 4
xor edi, edi
cmp dword [esp + 0x74], ebx
jbe 0x411c11
mov ecx, edi
and ecx, 1
cmp ecx, ebp
jne 0x411c02
cmp edi, dword [esp + 0x74]
jbe 0x411b80
call fcn.0042c040
cmp dword [esp + 0x78], 0x10
mov eax, dword [esp + 0x64]
jae 0x411b8f
lea eax, [esp + 0x64]
mov bl, byte [eax + edi]
or edx, 0xffffffff
sub edx, dword [esp + 0x58]
cmp edx, 1
ja 0x411ba3
call fcn.0042b8bc
mov esi, dword [esp + 0x58]
add esi, 1
cmp esi, 0xfffffffe
jbe 0x411bb4
call fcn.0042b8bc
mov eax, dword [esp + 0x5c]
cmp eax, esi
jae 0x411deb
mov eax, dword [esp + 0x58]
push eax
push esi
lea ecx, [esp + 0x4c]
call fcn.004037c9
mov eax, dword [esp + 0x5c]
test esi, esi
jbe 0x411c02
cmp eax, 0x10
mov eax, dword [esp + 0x48]
jae 0x411be4
lea eax, [esp + 0x48]
mov ecx, dword [esp + 0x58]
mov byte [ecx + eax], bl
cmp dword [esp + 0x5c], 0x10
mov eax, dword [esp + 0x48]
mov dword [esp + 0x58], esi
jae 0x411bfe
lea eax, [esp + 0x48]
mov byte [eax + esi], 0
add edi, 1
cmp edi, dword [esp + 0x74]
jb 0x411b68
xor ebx, ebx
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x50]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x6c], edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x74], edx
push ebx
lea edx, [esp + 0x64]
mov dword [esp + 0x58], esi
mov dword [esp + 0x60], eax
push edx
or eax, 0xffffffff
lea esi, [esp + 0xe4]
mov dword [esp + 0x78], edi
mov dword [esp + 0x80], ecx
call fcn.00413740
mov eax, 0xf
xor edi, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edi
mov byte [esp + 0x2c], 0
mov byte [esp + 0xd0], 6
mov esi, dword [esp + 0xf0]
cmp esi, eax
je 0x411cf1
cmp esi, 0xfffffffe
jbe 0x411cc2
call fcn.0042b8bc
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
cmp eax, esi
jae 0x411e0c
push edi
push esi
lea ecx, [esp + 0x30]
call fcn.004037c9
mov eax, dword [esp + 0x40]
cmp esi, ebx
jbe 0x411cf1
cmp eax, 0x10
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3c], ebx
jae 0x411cee
lea eax, [esp + 0x2c]
mov byte [eax], 0
mov edx, dword [esp + 0xf4]
cmp edx, 0x10
mov eax, dword [esp + 0xe0]
mov ecx, eax
jae 0x411d0d
lea ecx, [esp + 0xe0]
mov edi, dword [esp + 0xf0]
lea esi, [ecx + edi]
cmp esi, ebx
je 0x411d41
cmp edx, 0x10
mov ecx, eax
jae 0x411d29
lea ecx, [esp + 0xe0]
cmp ecx, esi
ja 0x411d41
cmp edx, 0x10
mov ecx, eax
jae 0x411d3b
lea ecx, [esp + 0xe0]
add ecx, edi
cmp esi, ecx
jbe 0x411d54
call fcn.0042c040
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xe0]
lea ecx, [esp + 0xdc]
mov ebx, ecx
mov ebp, esi
nop
mov edi, 0x10
cmp edx, edi
jb 0x411e65
test eax, eax
mov esi, eax
je 0x411d9c
cmp edx, edi
mov ecx, eax
jae 0x411d80
lea ecx, [esp + 0xe0]
cmp ecx, esi
ja 0x411d9c
cmp edx, edi
jae 0x411d8f
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0xf0]
add eax, ecx
cmp esi, eax
jbe 0x411da1
call fcn.0042c040
cmp ebx, 0xfffffffe
je 0x411dba
test ebx, ebx
je 0x411db5
lea edx, [esp + 0xdc]
cmp ebx, edx
je 0x411dba
call fcn.0042c040
cmp ebp, esi
je 0x411f4a
cmp ebx, 0xfffffffe
mov esi, ebx
mov dword [esp + 0x24], ebp
je 0x411e7d
test ebx, ebx
jne 0x411dda
call fcn.0042c040
cmp dword [ebx + 0x18], edi
jb 0x411e71
mov eax, dword [ebx + 4]
jmp 0x411e74
test esi, esi
jne 0x411bd5
cmp eax, 0x10
mov eax, dword [esp + 0x48]
mov dword [esp + 0x58], esi
jae 0x411e04
lea eax, [esp + 0x48]
mov byte [eax], 0
jmp 0x411c02
cmp esi, 0x10
jae 0x411e58
cmp esi, edi
jae 0x411e17
mov edi, esi
cmp eax, 0x10
jb 0x411e42
test edi, edi
mov eax, dword [esp + 0x2c]
mov ebp, eax
jbe 0x411e37
push edi
push eax
lea eax, [esp + 0x34]
push 0x10
push eax
call fcn.0042b93f
add esp, 0x10
push ebp
call fcn.0042bbfa
add esp, 4
xor ebx, ebx
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], edi
mov byte [esp + edi + 0x2c], 0
jmp 0x411cd5
cmp esi, ebx
jne 0x411cdb
jmp 0x411cdd
lea esi, [esp + 0xe0]
jmp 0x411d73
lea eax, [ebx + 4]
cmp ebp, eax
ja 0x411e7d
call fcn.0042c040
cmp esi, 0xfffffffe
lea edi, [ebp - 1]
je 0x411eaa
test esi, esi
jne 0x411e8e
call fcn.0042c040
cmp dword [esi + 0x18], 0x10
jb 0x411e99
mov eax, dword [esi + 4]
jmp 0x411e9c
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp edi, ecx
jb 0x411eaa
call fcn.0042c040
mov dl, byte [edi]
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x18], dl
mov edx, dword [esp + 0x40]
cmp edx, 0x10
mov eax, ecx
jae 0x411ec3
lea eax, [esp + 0x2c]
mov esi, dword [esp + 0x3c]
add esi, eax
je 0x411eef
cmp edx, 0x10
mov eax, ecx
jae 0x411ed6
lea eax, [esp + 0x2c]
cmp eax, esi
ja 0x411eef
cmp edx, 0x10
mov eax, ecx
jae 0x411ee5
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
add ecx, eax
cmp esi, ecx
jbe 0x411ef4
call fcn.0042c040
mov edx, dword [esp + 0x18]
push esi
lea eax, [esp + 0x2c]
push eax
push edx
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x38]
call fcn.00413520
cmp ebx, 0xfffffffe
je 0x411f35
test ebx, ebx
jne 0x411f1e
call fcn.0042c040
cmp dword [ebx + 0x18], 0x10
jb 0x411f29
mov eax, dword [ebx + 4]
jmp 0x411f2c
lea eax, [ebx + 4]
cmp ebp, eax
ja 0x411f35
call fcn.0042c040
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xe0]
mov ebp, edi
jmp 0x411d60
mov eax, dword [esp + 0x3c]
cmp eax, 5
jbe 0x411fcc
jae 0x411f5a
call fcn.0042c040
cmp dword [esp + 0x40], edi
mov eax, dword [esp + 0x2c]
jae 0x411f68
lea eax, [esp + 0x2c]
mov bl, byte [eax + 5]
mov eax, dword [esp + 0x3c]
lea esi, [eax - 5]
cmp esi, eax
jbe 0x411f7b
call fcn.0042c040
mov ebp, edi
cmp dword [esp + 0x40], ebp
mov edi, dword [esp + 0x2c]
jae 0x411f8b
lea edi, [esp + 0x2c]
cmp dword [esp + 0x3c], 5
jae 0x411f97
call fcn.0042c040
cmp dword [esp + 0x40], ebp
mov eax, dword [esp + 0x2c]
jae 0x411fa5
lea eax, [esp + 0x2c]
mov cl, byte [esi + edi]
mov byte [eax + 5], cl
mov eax, dword [esp + 0x3c]
lea esi, [eax - 5]
cmp esi, eax
jbe 0x411fbb
call fcn.0042c040
cmp dword [esp + 0x40], ebp
mov eax, dword [esp + 0x2c]
jae 0x411fc9
lea eax, [esp + 0x2c]
mov byte [esi + eax], bl
cmp dword [esp + 0x3c], 0
je 0x412034
mov edx, dword [esp + 0x40]
cmp edx, 0x10
mov eax, dword [esp + 0x2c]
mov ecx, eax
jae 0x411fe6
lea ecx, [esp + 0x2c]
mov bl, byte [ecx]
mov ecx, dword [esp + 0x3c]
lea esi, [ecx - 1]
cmp esi, ecx
jbe 0x412000
call fcn.0042c040
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x2c]
cmp edx, 0x10
mov ecx, eax
jae 0x41200d
lea ecx, [esp + 0x2c]
mov eax, ecx
mov dl, byte [esi + ecx]
mov byte [eax], dl
mov eax, dword [esp + 0x3c]
lea esi, [eax - 1]
cmp esi, eax
jbe 0x412022
call fcn.0042c040
cmp dword [esp + 0x40], 0x10
mov eax, dword [esp + 0x2c]
jae 0x412031
lea eax, [esp + 0x2c]
mov byte [esi + eax], bl
mov esi, dword [esp + 0x1c]
xor ebx, ebx
push 0xffffffffffffffff
push ebx
lea eax, [esp + 0x30]
mov edi, 0xf
mov dword [esi + 0x18], edi
mov dword [esi + 0x14], ebx
push eax
mov ecx, esi
mov byte [esi + 4], bl
call fcn.0040336e
mov ebp, 0x10
cmp dword [esp + 0x40], ebp
jb 0x41206f
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0x5c], ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], 0
jb 0x41208f
mov edx, dword [esp + 0x48]
push edx
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0x78], ebp
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov byte [esp + 0x48], 0
jb 0x4120af
mov eax, dword [esp + 0x64]
push eax
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0xb0], 8
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], 0
jb 0x4120d6
mov ecx, dword [esp + 0x9c]
push ecx
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0x94], ebp
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], ebx
mov word [esp + 0x9c], bx
jb 0x412109
mov edx, dword [esp + 0x80]
push edx
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0xf4], ebp
mov dword [esp + 0x94], edi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], 0
jb 0x412138
mov eax, dword [esp + 0xe0]
push eax
call fcn.0042bbfa
add esp, 4
mov eax, esi
jmp 0x412195
mov esi, 0xf
mov dword [ebp + 0x18], esi
mov dword [ebp + 0x14], ebx
mov byte [ebp + 4], 0
cmp dword [esp + 0x94], edi
jb 0x412164
mov ecx, dword [esp + 0x80]
push ecx
call fcn.0042bbfa
add esp, 4
cmp dword [esp + 0xf4], edi
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], ebx
mov byte [esp + 0x80], 0
jb 0x412193
mov edx, dword [esp + 0xe0]
push edx
call fcn.0042bbfa
add esp, 4
mov eax, ebp
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.0042b9ba
add esp, 0xc0
ret 0x20