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

Disassembly:
sub esp, 0xe8
mov eax, dword [0x6b66bc]
xor eax, esp
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0xf4]
add ecx, 0x10
mov edx, dword [esp + 0xf0]
push ebx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0xfc]
push esi
shl eax, 5
push edi
add eax, ecx
mov dword [esp + 0x20], ebx
push eax
push edx
lea eax, [esp + 0xcc]
mov dword [esp + 0x20], edx
push eax
call fcn.004a7770
mov esi, dword [esp + 0xdc]
add esp, 0xc
cmp esi, 3
jb 0x4b4d3d
call fcn.0060b920
nop
int3
cmp byte [esi + 0x626130], 0
jne 0x4b4ddb
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0xc8]
call fcn.00482730
mov dword [esp + 0x88], eax
mov ecx, dword [eax]
mov dword [ebx], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
test ecx, ecx
je 0x4b4d77
lock inc dword [ecx + 4]
mov eax, dword [eax + 8]
mov edi, dword [esp + 0x98]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 1
test edi, edi
je 0x4b4db2
or esi, 0xffffffff
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4b4db2
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
lock xadd dword [edi + 8], esi
dec esi
jne 0x4b4db2
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
mov esi, dword [esp + 0xd0]
cmp esi, 3
jb 0x4b4dc5
call fcn.0060b7e0
nop
int3
mov ecx, dword [esi*4 + 0x625f74]
lea eax, [esp + 0xc4]
push eax
call ecx
jmp 0x4b5140
cmp dword [esp + 0xd0], 0
je 0x4b4dec
call fcn.0060b700
nop
int3
mov esi, dword [esp + 0xc8]
test esi, esi
jne 0x4b4e10
lea eax, [esp + 0x18]
mov ecx, ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x24]
push eax
call fcn.004b3230
jmp 0x4b511c
lea edx, [esi - 1]
mov dword [esp + 0xc], 0
mov ecx, edx
mov dword [esp + 0x10], 0
not ecx
mov dword [esp + 0x14], 0
shr ecx, 0x1f
xor eax, eax
cmp edx, esi
mov dword [esp + 0x28], edx
cmovl eax, ecx
test eax, eax
jne 0x4b4e6a
lea eax, [esp + 0x28]
mov dword [esp + 0x68], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov edi, dword [esp + 0xc4]
lea eax, [esi + esi*4]
add eax, eax
mov eax, dword [edi + eax*8 - 0xc]
sub eax, dword [esp + 0x18]
sar eax, 1
test eax, eax
jle 0x4b4ea3
inc eax
cmp eax, dword [esp + 0x14]
jle 0x4b4ea3
push eax
lea ecx, [esp + 0x10]
call fcn.0040ce40
mov esi, dword [esp + 0xc8]
mov edi, dword [esp + 0xc4]
lea eax, [esi + esi*4]
shl eax, 4
add eax, edi
mov dword [esp + 0x38], eax
cmp edi, eax
je 0x4b50b0
add edi, 8
nop word [eax + eax]
call fcn.004b5b00
mov esi, eax
lea ebx, [edi + 0xc]
mov edx, dword [esi + 0xc]
xor edx, dword [edi + 4]
mov ecx, dword [esi + 8]
xor ecx, dword [edi]
mov eax, dword [esi + 4]
or edx, ecx
xor eax, dword [edi - 4]
mov ecx, 0
or edx, eax
mov eax, dword [edi - 8]
xor eax, dword [esi]
or edx, eax
mov eax, ebx
cmovne eax, ecx
test eax, eax
je 0x4b4efe
push dword [eax + 0x10]
push dword [eax]
jmp 0x4b5093
call fcn.004b59b0
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
xor ecx, dword [edi]
xor edx, dword [edi + 4]
or edx, ecx
mov ecx, dword [eax + 4]
xor ecx, dword [edi - 4]
or edx, ecx
mov ecx, dword [edi - 8]
xor ecx, dword [eax]
mov eax, ebx
or edx, ecx
mov ecx, 0
cmovne eax, ecx
test eax, eax
je 0x4b4ff2
movzx ebx, word [eax]
test bx, bx
je 0x4b509c
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x4b4f4a
lea esi, [eax - 1]
jmp 0x4b4f4c
xor esi, esi
xor edx, edx
test eax, eax
setle dl
inc edx
add edx, eax
mov dword [esp + 0x10], edx
cmp edx, dword [esp + 0x14]
jle 0x4b4f6e
push eax
lea ecx, [esp + 0x10]
call fcn.0040cde0
mov edx, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x2c], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, edx
cmovl eax, ecx
test eax, eax
jne 0x4b4fa3
lea eax, [esp + 0x2c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x70]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
mov word [eax + esi*2], bx
inc esi
mov ecx, esi
mov dword [esp + 0x30], esi
not ecx
xor eax, eax
shr ecx, 0x1f
cmp esi, dword [esp + 0x10]
cmovl eax, ecx
test eax, eax
jne 0x4b4fe3
lea eax, [esp + 0x30]
mov dword [esp + 0x78], eax
lea eax, [esp + 0xc]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x78]
push eax
call fcn.006090b0
add esp, 4
nop
int3
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov word [eax + esi*2], cx
jmp 0x4b509c
call fcn.004b5a90
mov edx, dword [eax + 0xc]
xor edx, dword [edi + 4]
mov ecx, dword [eax + 8]
xor ecx, dword [edi]
or edx, ecx
mov ecx, dword [eax + 4]
xor ecx, dword [edi - 4]
or edx, ecx
mov ecx, dword [edi - 8]
xor ecx, dword [eax]
mov eax, 0
or edx, ecx
cmovne ebx, eax
test ebx, ebx
je 0x4b509c
mov esi, dword [ebx]
test esi, esi
js 0x4b507a
mov ecx, dword [esp + 0x1c]
cmp esi, dword [ecx + 4]
jge 0x4b507a
mov eax, esi
mov dword [esp + 0x34], esi
not eax
test eax, eax
js 0x4b505e
lea eax, [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
push eax
call fcn.006090b0
add esp, 4
nop
int3
lea eax, [esp + 0xc]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esi + esi*2]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
push eax
call fcn.004b3f90
add esp, 8
jmp 0x4b509c
cmp byte [esp + 0x104], al
jne 0x4b515f
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
sub eax, ecx
sar eax, 1
push eax
push ecx
lea ecx, [esp + 0x14]
call fcn.0040edd0
add edi, 0x50
lea eax, [edi - 8]
cmp eax, dword [esp + 0x38]
jne 0x4b4ec0
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
lea eax, [esp + 0xc]
mov dword [esp + 0x8c], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
lea eax, [esi - 1]
mov dword [ebx + 8], 0
neg esi
sbb esi, esi
and esi, eax
mov dword [esp + 0x90], esi
je 0x4b5104
test esi, esi
jle 0x4b50f8
lea eax, [esi + 1]
test eax, eax
jle 0x4b50f8
push eax
mov ecx, ebx
call fcn.0040ce40
push esi
push dword [esp + 0x10]
mov ecx, ebx
call fcn.0040edd0
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xc], 0
test eax, eax
je 0x4b511c
push eax
call fcn.0043f8f0
add esp, 4
mov esi, dword [esp + 0xd0]
cmp esi, 3
jb 0x4b512f
call fcn.0060b7e0
nop
int3
lea eax, [esp + 0xc4]
push eax
mov eax, dword [esi*4 + 0x625f74]
call eax
add esp, 4
mov eax, ebx
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005f4480
add esp, 0xe8
ret 0x10
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x48]
push eax
push 0
lea eax, [esp + 0x58]
push esi
push eax
call fcn.0045b760
push str.InvalidArgumentIndex
push str.StringFormatter
lea eax, [esp + 0xd0]
push str.Invalid_argument_index:_0
push eax
call fcn.0043f090
add esp, 0x20
lea ecx, [esp + 0x40]
push eax
call fcn.004532a0
mov eax, dword [esp + 0x50]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xd4], 4
mov dword [esp + 0xe4], eax
test eax, eax
je 0x4b51cb
lock inc dword [eax + 4]
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0xd4]
mov dword [esp + 0xe8], eax
lea eax, [esp + 0xf0]
push eax
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xf4], 1
call fcn.0047afb0
push eax
mov eax, dword [esp + 0x44]
sub esp, 8
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
mov dword [ecx + 4], eax
test eax, eax
je 0x4b5215
lock inc dword [eax + 4]
lea eax, [esp + 0xac]
push eax
call fcn.004642c0
add esp, 0x10
mov ecx, dword [eax]
mov dword [esp + 0x5c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], ecx
test ecx, ecx
je 0x4b523a
lock inc dword [ecx + 4]
mov edi, dword [esp + 0xa4]
or esi, 0xffffffff
mov eax, dword [eax + 8]
mov dword [esp + 0x64], eax
test edi, edi
je 0x4b5270
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4b5270
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4b5270
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
lea ecx, [esp + 0xac]
call fcn.00454610
cmp byte [esp + 0xec], 0
je 0x4b52ba
mov edi, dword [esp + 0xe4]
mov byte [esp + 0xec], 0
test edi, edi
je 0x4b52ba
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4b52ba
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4b52ba
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
mov edi, dword [esp + 0x44]
test edi, edi
je 0x4b52e3
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4b52e3
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4b52e3
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
mov edi, dword [esp + 0x54]
test edi, edi
je 0x4b530c
mov eax, esi
lock xadd dword [edi + 4], eax
jne 0x4b530c
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lock xadd dword [edi + 8], eax
jne 0x4b530c
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 4]
mov edi, dword [esp + 0x20]
lea eax, [esp + 0x5c]
mov dword [esp + 0x3c], eax
mov ecx, edi
lea eax, [esp + 0x3c]
push eax
call fcn.004b32c0
lea ecx, [esp + 0x5c]
call fcn.00434fe0
lea ecx, [esp + 0xb8]
call fcn.00434fe0
mov ebx, dword [esp + 0x4c]
test ebx, ebx
je 0x4b5361
mov eax, esi
lock xadd dword [ebx + 4], eax
jne 0x4b5361
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lock xadd dword [ebx + 8], esi
dec esi
jne 0x4b5361
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax + 4]
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4b5372
push eax
call fcn.0043f8f0
add esp, 4
lea ecx, [esp + 0xc4]
call fcn.0047b4b0
mov eax, edi
jmp 0x4b5145