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

Disassembly:
push 0xffffffffffffffff
push 0x413f2a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x58
mov eax, dword [0x41b5c0]
push ebp
mov dword [esp + 0x58], eax
push edi
xor edi, edi
push 0x78
mov dword [esp + 0x6c], edi
call fcn.00412892
add esp, 4
mov dword [esp + 8], eax
cmp eax, edi
mov byte [esp + 0x68], 1
je 0x40bb2f
mov ecx, eax
call fcn.0040f6a0
mov ebp, eax
mov dword [esp + 0x18], ebp
jmp 0x40bb35
mov dword [esp + 0x18], edi
mov ebp, edi
cmp ebp, edi
mov byte [esp + 0x68], 0
je 0x40bb7b
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 8], eax
cmp eax, edi
mov byte [esp + 0x68], 2
je 0x40bb70
push 0x415565
push str.UTF_8
push 0x415b8c
mov ecx, eax
call fcn.0040fa20
jmp 0x40bb72
xor eax, eax
cmp eax, edi
mov byte [esp + 0x68], 0
jne 0x40bb94
lea ecx, [esp + 0x70]
mov dword [esp + 0x68], 0xffffffff
call dword [0x41515c]
xor al, al
jmp 0x40bcc1
push esi
push eax
mov ecx, ebp
call fcn.0040f370
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0xc], eax
cmp eax, edi
mov byte [esp + 0x6c], 3
je 0x40bbc7
push str.config
mov ecx, eax
call fcn.0040fde0
mov esi, eax
jmp 0x40bbc9
xor esi, esi
cmp esi, edi
mov byte [esp + 0x6c], 0
jne 0x40bbeb
lea ecx, [esp + 0x74]
mov dword [esp + 0x6c], 0xffffffff
call dword [0x41515c]
xor al, al
jmp 0x40bcc0
push ebx
push esi
mov ecx, ebp
call fcn.0040f370
push str.0804
push str.langid
mov ecx, esi
call fcn.0040ff40
push 0x415b8c
push 0x4154a8
mov ecx, esi
call fcn.0040ff40
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, edi
mov byte [esp + 0x70], 4
je 0x40bc44
push str.productlist
mov ecx, eax
call fcn.0040fde0
mov ebx, eax
mov dword [esp + 0x28], ebx
jmp 0x40bc4a
mov dword [esp + 0x28], edi
mov ebx, edi
cmp ebx, edi
mov byte [esp + 0x70], 0
je 0x40c04c
push ebx
mov ecx, esi
call fcn.0040f370
lea ecx, [esp + 0x48]
call dword [0x4151b4]
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 4]
mov edi, dword [eax]
cmp edi, eax
mov byte [esp + 0x70], 5
mov dword [esp + 0x18], edi
jne 0x40bce3
cmp dword [esp + 0x90], 0x10
mov eax, dword [esp + 0x7c]
jae 0x40bc94
lea eax, [esp + 0x7c]
push eax
mov ecx, ebp
call fcn.0040f890
lea ecx, [esp + 0x48]
mov byte [esp + 0x70], 0
call dword [0x41515c]
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call dword [0x41515c]
mov al, 1
pop ebx
pop esi
mov ecx, dword [esp + 0x60]
pop edi
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x58]
pop ebp
call fcn.00412959
add esp, 0x64
ret
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x70], 6
je 0x40bd11
push str.product
mov ecx, eax
call fcn.0040fde0
mov ebp, eax
mov dword [esp + 0x14], ebp
jmp 0x40bd1d
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x14]
test ebp, ebp
mov byte [esp + 0x70], 5
je 0x40c03d
push ebp
mov ecx, ebx
call fcn.0040f370
push str.name
lea ecx, [esp + 0x30]
call dword [0x41516c]
lea ecx, [edi + 0xc]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, ebp
mov byte [esp + 0x78], 7
call fcn.0040ff70
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 5
call dword [0x41515c]
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x70], 8
je 0x40bd93
push str.updatefilelist
mov ecx, eax
call fcn.0040fde0
mov esi, eax
mov dword [esp + 0x24], esi
jmp 0x40bd9f
mov dword [esp + 0x24], 0
mov esi, dword [esp + 0x24]
test esi, esi
mov byte [esp + 0x70], 5
je 0x40c03d
push esi
mov ecx, ebp
call fcn.0040f370
mov ebx, dword [edi + 0x2c]
cmp ebx, dword [edi + 0x30]
je 0x40bec1
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov byte [esp + 0x70], 9
je 0x40bdea
push str.file
mov ecx, eax
call fcn.0040fde0
mov ebp, eax
jmp 0x40bdec
xor ebp, ebp
test ebp, ebp
mov byte [esp + 0x70], 5
je 0x40c03d
push ebp
mov ecx, esi
call fcn.0040f370
mov eax, dword [ebx + 4]
mov edi, dword [eax]
cmp edi, eax
mov dword [esp + 0x10], edi
je 0x40bea9
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xa
je 0x40be3b
lea ecx, [edi + 0xc]
push ecx
mov ecx, eax
call fcn.0040fe60
mov esi, eax
jmp 0x40be3d
xor esi, esi
test esi, esi
mov byte [esp + 0x70], 5
je 0x40c03d
push esi
mov ecx, ebp
call fcn.0040f370
push 0x48
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xb
je 0x40be76
add edi, 0x28
push edi
mov ecx, eax
call fcn.0040b340
jmp 0x40be78
xor eax, eax
test eax, eax
mov byte [esp + 0x70], 5
je 0x40c03d
push eax
mov ecx, esi
call fcn.0040f370
lea ecx, [esp + 0x10]
call fcn.00401450
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x10]
cmp edi, eax
jne 0x40be12
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x30]
add ebx, 0xc
cmp ebx, eax
jne 0x40bdc0
mov ebp, dword [esp + 0x14]
mov edi, edx
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xc
je 0x40beef
push str.patchfilelist
mov ecx, eax
call fcn.0040fde0
mov esi, eax
mov dword [esp + 0x14], esi
jmp 0x40befb
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x14]
test esi, esi
mov byte [esp + 0x70], 5
je 0x40c03d
push esi
mov ecx, ebp
call fcn.0040f370
mov ebx, dword [edi + 0x3c]
cmp ebx, dword [edi + 0x40]
je 0x40c017
lea esp, [esp]
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xd
je 0x40bf4a
push str.file
mov ecx, eax
call fcn.0040fde0
mov ebp, eax
jmp 0x40bf4c
xor ebp, ebp
test ebp, ebp
mov byte [esp + 0x70], 5
je 0x40c03d
push ebp
mov ecx, esi
call fcn.0040f370
mov eax, dword [ebx + 4]
mov edi, dword [eax]
cmp edi, eax
mov dword [esp + 0x10], edi
je 0x40c005
push 0x98
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xe
je 0x40bf9b
lea ecx, [edi + 0xc]
push ecx
mov ecx, eax
call fcn.0040fe60
mov esi, eax
jmp 0x40bf9d
xor esi, esi
test esi, esi
mov byte [esp + 0x70], 5
je 0x40c03d
push esi
mov ecx, ebp
call fcn.0040f370
push 0x48
call fcn.00412892
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x70], 0xf
je 0x40bfd6
add edi, 0x28
push edi
mov ecx, eax
call fcn.0040b340
jmp 0x40bfd8
xor eax, eax
test eax, eax
mov byte [esp + 0x70], 5
je 0x40c03d
push eax
mov ecx, esi
call fcn.0040f370
lea ecx, [esp + 0x10]
call fcn.00401450
mov eax, dword [ebx + 4]
mov edi, dword [esp + 0x10]
cmp edi, eax
jne 0x40bf72
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x40]
add ebx, 0xc
cmp ebx, eax
jne 0x40bf20
lea ecx, [esp + 0x18]
call fcn.00403630
mov eax, dword [esp + 0x94]
mov eax, dword [eax + 4]
cmp dword [esp + 0x18], eax
jne 0x40bcdb
mov ebp, dword [esp + 0x20]
jmp 0x40bc82
lea ecx, [esp + 0x48]
mov byte [esp + 0x70], 0
call dword [0x41515c]
lea ecx, [esp + 0x78]
mov dword [esp + 0x70], 0xffffffff
call dword [0x41515c]
xor al, al
jmp 0x40bcbf