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

Disassembly:
push 0xffffffffffffffff
push 0x47cd19
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4bb27c]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x28], esi
xor ebp, ebp
mov dword [esp + 0x24], ebp
mov eax, dword [0x4be0cc]
mov edx, dword [eax + 0xc]
mov ecx, 0x4be0cc
mov dword [esp + 0x68], ebp
call edx
mov ecx, dword [esp + 0x70]
add eax, 0x10
mov dword [ecx], eax
mov edx, dword [0x4be0cc]
mov eax, dword [edx + 0xc]
mov edi, 1
mov ecx, 0x4be0cc
mov dword [esp + 0x68], ebp
mov dword [esp + 0x24], edi
call eax
add eax, 0x10
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x18]
push 0x3ed
push ecx
mov dword [esp + 0x70], edi
call fcn.00434190
mov edx, dword [0x4be0cc]
mov eax, dword [edx + 0xc]
add esp, 8
mov ecx, 0x4be0cc
call eax
lea edi, [eax + 0x10]
mov dword [esp + 0x14], edi
push str.errorentry
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esi + 4]
mov byte [esp + 0x70], 2
call fcn.00430a70
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
cmp eax, esi
mov byte [esp + 0x68], 3
jbe 0x41f231
call fcn.00465ea2
mov eax, dword [esp + 0x54]
xor edx, edx
lea ecx, [esp + 0x50]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], esi
lea ebx, [edx + 4]
cmp eax, dword [esp + 0x58]
mov esi, eax
jbe 0x41f253
call fcn.00465ea2
mov eax, dword [esp + 0x38]
cmp eax, ebp
je 0x41f263
lea edx, [esp + 0x50]
cmp eax, edx
je 0x41f268
call fcn.00465ea2
cmp dword [esp + 0x3c], esi
je 0x41f5cd
mov eax, dword [esp + 0x38]
cmp eax, ebp
mov ecx, dword [esp + 0x3c]
mov esi, eax
mov dword [esp + 0x20], ecx
jne 0x41f28b
call fcn.00465ea2
mov eax, esi
mov edx, dword [esp + 0x3c]
cmp edx, dword [eax + 4]
ja 0x41f299
call fcn.00465ea2
mov eax, dword [esp + 0x3c]
add eax, 0xfffffffc
cmp eax, dword [esi + 8]
mov dword [esp + 0x1c], eax
jb 0x41f2ae
call fcn.00465ea2
mov eax, dword [esp + 0x1c]
mov esi, dword [eax]
push ebp
push 0x497188
lea ecx, [esp + 0x1c]
call fcn.00403080
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call fcn.0042f8a0
mov esi, dword [esp + 0x44]
cmp esi, dword [esp + 0x48]
mov byte [esp + 0x68], bl
jbe 0x41f2e2
call fcn.00465ea2
lea eax, [esp + 0x40]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], esi
mov edi, edi
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x44], edi
jbe 0x41f2ff
call fcn.00465ea2
mov esi, dword [esp + 0x2c]
cmp esi, ebp
je 0x41f30f
lea edx, [esp + 0x40]
cmp esi, edx
je 0x41f314
call fcn.00465ea2
cmp dword [esp + 0x30], edi
je 0x41f550
cmp esi, ebp
jne 0x41f327
call fcn.00465ea2
mov eax, dword [esp + 0x30]
cmp eax, dword [esi + 8]
jb 0x41f335
call fcn.00465ea2
mov ecx, dword [esp + 0x30]
mov esi, dword [ecx]
mov edi, dword [esi]
mov ecx, str.description
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f368
cmp dx, bp
je 0x41f364
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f368
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f344
xor eax, eax
jmp 0x41f36d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
sete al
test al, al
je 0x41f382
mov eax, dword [esi + 4]
mov edx, dword [eax - 0xc]
push edx
jmp 0x41f50c
mov ecx, str.sourcefunction
mov eax, edi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f3b4
cmp dx, bp
je 0x41f3b0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f3b4
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f390
xor eax, eax
jmp 0x41f3b9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
setne al
test al, al
je 0x41f526
mov ecx, str.sourcefile
mov eax, edi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f3f4
cmp dx, bp
je 0x41f3f0
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f3f4
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f3d0
xor eax, eax
jmp 0x41f3f9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
setne al
test al, al
je 0x41f526
mov ecx, str.sourceline
mov eax, edi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f434
cmp dx, bp
je 0x41f430
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f434
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f410
xor eax, eax
jmp 0x41f439
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
setne al
test al, al
je 0x41f526
mov ecx, str.errorcode
mov eax, edi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f474
cmp dx, bp
je 0x41f470
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f474
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f450
xor eax, eax
jmp 0x41f479
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
sete al
test al, al
je 0x41f49b
lea eax, [esp + 0x18]
push eax
lea ecx, [esi + 4]
push ecx
call fcn.0041d440
add esp, 8
test al, al
jne 0x41f541
mov eax, dword [esi]
mov ecx, str.errorcode
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x41f4c6
cmp dx, bp
je 0x41f4c2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x41f4c6
add eax, ebx
add ecx, ebx
cmp dx, bp
jne 0x41f4a2
xor eax, eax
jmp 0x41f4cb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebp
jne 0x41f4d5
test byte [esp + 0x74], bl
je 0x41f526
push 1
push 0x48e420
lea ecx, [esp + 0x1c]
call fcn.00402030
mov eax, dword [esi]
mov edx, dword [eax - 0xc]
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.00402030
push 2
push 0x48e418
lea ecx, [esp + 0x1c]
call fcn.00402030
mov eax, dword [esi + 4]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x1c]
call fcn.00402030
push 1
push 0x497ee4
lea ecx, [esp + 0x1c]
call fcn.00402030
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x30]
cmp eax, dword [edx + 8]
jb 0x41f538
call fcn.00465ea2
add dword [esp + 0x30], ebx
jmp 0x41f2f0
push ebp
push 0x497188
lea ecx, [esp + 0x1c]
call fcn.00403080
mov edi, dword [esp + 0x14]
mov eax, dword [edi - 0xc]
mov esi, dword [esp + 0x70]
push eax
push edi
mov ecx, esi
call fcn.00402030
mov ecx, dword [esi]
cmp dword [ecx - 0xc], ebp
jle 0x41f572
test byte [esp + 0x74], 1
je 0x41f5b7
mov eax, dword [esp + 0x44]
cmp eax, ebp
mov byte [esp + 0x68], 3
je 0x41f588
push eax
call fcn.004657f0
add esp, 4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
cmp edx, dword [eax + 4]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
ja 0x41f5a6
call fcn.00465ea2
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov dword [esp + 0x3c], ecx
jmp 0x41f246
mov eax, dword [esp + 0x44]
cmp eax, ebp
mov byte [esp + 0x68], 3
je 0x41f5cd
push eax
call fcn.004657f0
add esp, 4
test byte [esp + 0x74], 2
je 0x41f661
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x28]
push edx
call fcn.0041ea60
push eax
lea eax, [esp + 0x78]
push 0x497ee4
mov bl, 5
push eax
mov byte [esp + 0x74], bl
call fcn.0041dfb0
add esp, 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
mov esi, dword [esp + 0x70]
push ecx
push eax
mov ecx, esi
mov byte [esp + 0x70], 6
call fcn.00402030
mov eax, dword [esp + 0x74]
add eax, 0xfffffff0
mov byte [esp + 0x68], bl
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f63a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov byte [esp + 0x68], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f665
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x41f665
mov esi, dword [esp + 0x70]
push 0x48e410
push 0x48e40c
mov ecx, esi
call fcn.00418fb0
mov eax, dword [esp + 0x54]
cmp eax, ebp
je 0x41f687
push eax
call fcn.004657f0
add esp, 4
lea eax, [edi - 0x10]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov byte [esp + 0x68], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f6b4
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov byte [esp + 0x68], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41f6d9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, esi
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 8