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

Disassembly:
mov eax, 0x46c533
call fcn.00461cc8
sub esp, 0xd4
push ebx
push esi
push edi
mov esi, ecx
call fcn.0041b4fc
xor ebx, ebx
cmp eax, ebx
jne 0x41b164
cmp dword [esi], ebx
jne 0x41abbc
push dword [ebp + 0x10]
mov ecx, esi
call fcn.0041a505
cmp eax, ebx
jne 0x41b164
mov eax, dword [esi]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
call fcn.004049a9
mov dword [ebp - 0x2c], 0x470bc4
lea ecx, [ebp - 0x54]
mov dword [ebp - 4], ebx
call fcn.004049a9
mov dword [ebp - 0x54], 0x470bbc
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.004049a9
mov dword [ebp - 0x40], 0x470aec
mov eax, dword [esi + 0x60]
push 1
pop edi
mov byte [ebp - 4], 2
cmp dword [esi + 0x9c], edi
mov dword [ebp - 0x10], eax
mov dword [ebp + 0x10], edi
jle 0x41ac66
lea ecx, [ebp - 0xe0]
call fcn.0040bcc4
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 3
call fcn.0041bd1b
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 2
call fcn.0040bd52
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.0040bd3e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov ecx, dword [eax + ecx*4 - 4]
call fcn.0040bdb4
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x9c]
jl 0x41ac13
mov eax, dword [esi + 0x9c]
mov dword [ebp + 0x10], edi
cmp eax, edi
jle 0x41acf2
push 0xc
call fcn.00406736
cmp eax, ebx
pop ecx
je 0x41ac8c
mov dword [eax + 4], ebx
mov dword [eax], 0x470bac
mov edi, eax
jmp 0x41ac8e
xor edi, edi
cmp edi, ebx
mov dword [ebp - 0x18], edi
je 0x41ac9b
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0x10]
mov byte [ebp - 4], 4
mov eax, dword [eax + ecx*4 - 4]
lea ecx, [ebp - 0x40]
mov dword [edi + 8], eax
lea eax, [ebp - 0x18]
push eax
call fcn.004186c2
push 4
call fcn.00406736
cmp eax, ebx
pop ecx
je 0x41acc8
mov dword [eax], edi
jmp 0x41acca
xor eax, eax
push eax
lea ecx, [ebp - 0x54]
call fcn.00418717
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 2
cmp eax, ebx
je 0x41ace4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x9c]
jl 0x41ac73
xor edi, edi
cmp dword [ebp - 0x10], ebx
jle 0x41ad0d
mov eax, dword [esi]
push ebx
push ebx
push edi
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax + 8]
inc edi
cmp edi, dword [ebp - 0x10]
jl 0x41acf9
cmp dword [esi + 0x88], ebx
jne 0x41ad6b
mov dword [ebp - 0x40], 0x470aec
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 5
call fcn.0040707b
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00407057
mov dword [ebp - 0x54], 0x470bbc
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 6
call fcn.0040707b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407057
mov dword [ebp - 0x2c], 0x470bc4
mov dword [ebp - 4], 7
mov esi, 0x80004005
jmp 0x41b14e
lea eax, [ebp - 0x58]
lea ecx, [esi + 0x58]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, dword [esi + 0x8c]
push dword [eax]
call fcn.004182a3
mov eax, dword [esi]
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + 0xc], ebx
mov dword [eax + 0xa8], ecx
je 0x41adef
push 4
lea ecx, [ebp - 0x80]
call fcn.00403c57
mov dword [ebp - 0x80], 0x470ac4
mov eax, dword [esi + 0x64]
mov edx, dword [ebp - 0x14]
xor edi, edi
mov byte [ebp - 4], 8
cmp dword [eax + edx*8], ebx
jbe 0x41add4
cmp edi, dword [ebp - 0x58]
jne 0x41adbf
push dword [ebp + 0xc]
jmp 0x41adc0
push ebx
lea ecx, [ebp - 0x80]
call fcn.00418717
mov eax, dword [esi + 0x64]
mov edx, dword [ebp - 0x14]
inc edi
cmp edi, dword [eax + edx*8]
jb 0x41adb5
mov eax, dword [esi]
push ebx
push dword [ebp - 0x74]
lea ecx, [eax + 4]
push edx
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 2
call fcn.00407057
push 0x20
call fcn.00406736
pop ecx
mov dword [ebp + 0xc], eax
cmp eax, ebx
mov byte [ebp - 4], 9
je 0x41ae0e
mov ecx, eax
call fcn.0041b2a0
mov dword [ebp + 0xc], eax
jmp 0x41ae13
mov dword [ebp + 0xc], ebx
mov eax, ebx
cmp eax, ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x18], eax
je 0x41ae24
mov ecx, dword [eax]
push eax
call dword [ecx + 4]
push 0x18
mov byte [ebp - 4], 0xa
call fcn.00406736
cmp eax, ebx
pop ecx
je 0x41ae44
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax], 0x470b9c
mov edi, eax
jmp 0x41ae46
xor edi, edi
cmp edi, ebx
mov dword [ebp - 0x98], edi
je 0x41ae56
mov eax, dword [edi]
push edi
call dword [eax + 4]
push dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov byte [ebp - 4], 0xb
call fcn.0041b175
push dword [ebp + 0x18]
lea ecx, [edi + 8]
call fcn.0040ae6a
mov dword [edi + 0x10], ebx
push 4
lea ecx, [ebp - 0x94]
mov dword [edi + 0x14], ebx
call fcn.00403c57
mov dword [ebp - 0x94], 0x470ae4
push 4
lea ecx, [ebp - 0x6c]
call fcn.00403c57
mov dword [ebp - 0x6c], 0x470adc
push dword [ebp + 0xc]
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xd
call fcn.00418717
push edi
lea ecx, [ebp - 0x6c]
call fcn.00418717
push 1
pop ebx
cmp dword [esi + 0x9c], ebx
jle 0x41aede
mov eax, dword [ebp - 0x34]
lea ecx, [ebp - 0x6c]
mov eax, dword [eax + ebx*4 - 4]
push dword [eax]
call fcn.00418717
inc ebx
cmp ebx, dword [esi + 0x9c]
jl 0x41aec4
push dword [ebp + 0x20]
mov eax, dword [esi + 4]
push dword [ebp - 0x64]
mov ecx, dword [eax]
push 0
push dword [ebp - 0x60]
push 1
push 0
push dword [ebp - 0x88]
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x41af93
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xc
call fcn.00407057
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xb
call fcn.00407057
test edi, edi
mov byte [ebp - 4], 0xa
je 0x41af2f
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 2
test eax, eax
je 0x41af40
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x40], 0x470aec
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0xe
call fcn.0040707b
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00407057
mov dword [ebp - 0x54], 0x470bbc
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0xf
call fcn.0040707b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407057
mov dword [ebp - 0x2c], 0x470bc4
mov dword [ebp - 4], 0x10
mov esi, ebx
jmp 0x41b14e
push dword [ebp + 0x14]
lea eax, [esi + 0xfc]
sub esp, 0x14
mov ecx, esp
mov dword [ebp + 0x10], esp
push eax
call fcn.00418abc
lea eax, [esi + 0xa8]
push eax
call fcn.0041b1af
push dword [edi + 0x14]
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp + 0x1c]
push eax
call fcn.0041763f
push 1
pop eax
cmp dword [esi + 0x9c], eax
mov dword [ebp + 0x10], eax
jle 0x41b012
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0x10]
mov ebx, dword [eax + ecx*4 - 4]
mov ecx, ebx
call fcn.0040be8e
mov ecx, ebx
call fcn.0040beeb
push dword [ebp + 0x18]
mov ecx, ebx
call fcn.0040bf04
push dword [ebx + 0x44]
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebp + 0x1c]
push eax
call fcn.0041763f
inc dword [ebp + 0x10]
mov eax, dword [ebp + 0x10]
cmp eax, dword [esi + 0x9c]
jl 0x41afd3
mov eax, dword [esi + 0xf8]
xor ebx, ebx
cmp dword [eax + 0x90], ebx
jle 0x41b089
mov ecx, dword [esi + 0x74]
and dword [ebp + 0x18], 0
test ecx, ecx
jle 0x41b04e
mov eax, dword [eax + 0xa0]
mov eax, dword [eax + ebx*4]
mov dword [ebp + 0x1c], eax
mov eax, dword [esi + 0x78]
mov edx, dword [ebp + 0x1c]
cmp dword [eax], edx
je 0x41b060
inc dword [ebp + 0x18]
add eax, 8
cmp dword [ebp + 0x18], ecx
jl 0x41b03c
or eax, 0xffffffff
test eax, eax
jge 0x41b065
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x18]
mov edx, dword [ecx + 0x1c]
jmp 0x41b06d
mov eax, dword [ebp + 0x18]
jmp 0x41b051
mov ecx, dword [esi]
push eax
call fcn.004185ea
push edx
push eax
mov eax, dword [ebp + 0x14]
lea ecx, [eax + 0x3c]
call fcn.0041763f
mov eax, dword [esi + 0xf8]
inc ebx
cmp ebx, dword [eax + 0x90]
jl 0x41b022
mov eax, dword [ebp - 0x10]
lea ebx, [eax - 1]
test ebx, ebx
jl 0x41b0c6
sub eax, ebx
lea eax, [eax*4 - 4]
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [esi + 0x14]
mov edx, dword [ebp + 0x18]
mov ecx, dword [ecx + 0xc]
mov eax, dword [eax + ebx*4]
add eax, 8
mov ecx, dword [edx + ecx]
push eax
add ecx, 8
call fcn.004125d8
add dword [ebp + 0x18], 4
dec ebx
test ebx, ebx
jge 0x41b09f
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0xc
call fcn.00407057
lea ecx, [ebp - 0x94]
mov byte [ebp - 4], 0xb
call fcn.00407057
test edi, edi
mov byte [ebp - 4], 0xa
je 0x41b0ef
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov eax, dword [ebp + 0xc]
mov byte [ebp - 4], 2
test eax, eax
je 0x41b100
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x40], 0x470aec
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x11
call fcn.0040707b
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00407057
mov dword [ebp - 0x54], 0x470bbc
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x12
call fcn.0040707b
and byte [ebp - 4], 0
lea ecx, [ebp - 0x54]
call fcn.00407057
mov dword [ebp - 0x2c], 0x470bc4
mov dword [ebp - 4], 0x13
xor esi, esi
lea ecx, [ebp - 0x2c]
call fcn.0040707b
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00407057
mov eax, esi
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 0x1c