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

Disassembly:
sub esp, 0x3c
push ebx
push ebp
mov ebp, dword [esp + 0x4c]
xor ebx, ebx
push esi
push edi
mov edi, dword [esp + 0x60]
mov ebp, dword [ebp + 8]
mov byte [esp + 0x2c], bl
mov byte [esp + 0x13], bl
mov dword [esp + 0x30], ebp
cmp ebp, 0xffffffff
jl 0x4c1a93
cmp ebp, dword [edi + 4]
jl 0x4c1a98
call fcn.004c9cbc
mov esi, dword [esp + 0x50]
cmp dword [esi], 0xe06d7363
jne 0x4c1d9d
cmp dword [esi + 0x10], 3
jne 0x4c1bb2
cmp dword [esi + 0x14], 0x19930520
je 0x4c1ad1
cmp dword [esi + 0x14], 0x19930521
je 0x4c1ad1
cmp dword [esi + 0x14], 0x19930522
jne 0x4c1bb2
cmp dword [esi + 0x1c], ebx
jne 0x4c1bb2
call fcn.004c75ad
cmp dword [eax + 0x88], ebx
je 0x4c1de1
call fcn.004c75ad
mov esi, dword [eax + 0x88]
call fcn.004c75ad
push 1
push esi
mov byte [esp + 0x34], 1
mov eax, dword [eax + 0x8c]
mov dword [esp + 0x58], eax
call fcn.004cc847
pop ecx
pop ecx
test eax, eax
jne 0x4c1b1d
call fcn.004c9cbc
cmp dword [esi], 0xe06d7363
jne 0x4c1b50
cmp dword [esi + 0x10], 3
jne 0x4c1b50
cmp dword [esi + 0x14], 0x19930520
je 0x4c1b46
cmp dword [esi + 0x14], 0x19930521
je 0x4c1b46
cmp dword [esi + 0x14], 0x19930522
jne 0x4c1b50
cmp dword [esi + 0x1c], ebx
jne 0x4c1b50
call fcn.004c9cbc
call fcn.004c75ad
cmp dword [eax + 0x94], ebx
je 0x4c1bc0
call fcn.004c75ad
mov ebp, dword [eax + 0x94]
call fcn.004c75ad
push ebp
push esi
mov dword [eax + 0x94], ebx
call fcn.004c1f7e
pop ecx
pop ecx
test al, al
jne 0x4c1bbc
cmp dword [ebp], ebx
jle 0x4c1de9
mov edi, ebx
mov ecx, dword [ebp + 4]
push 0x52397c
mov ecx, dword [edi + ecx + 4]
call fcn.004c0ceb
test al, al
jne 0x4c1dee
inc ebx
add edi, 0x10
cmp ebx, dword [ebp]
jl 0x4c1b8b
jmp 0x4c1de9
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
jmp 0x4c1bc4
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x50]
cmp dword [esi], 0xe06d7363
jne 0x4c1da1
cmp dword [esi + 0x10], 3
jne 0x4c1da1
cmp dword [esi + 0x14], 0x19930520
je 0x4c1bf9
cmp dword [esi + 0x14], 0x19930521
je 0x4c1bf9
cmp dword [esi + 0x14], 0x19930522
jne 0x4c1da1
cmp dword [edi + 0xc], ebx
jbe 0x4c1d25
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
push dword [esp + 0x74]
push edi
call fcn.004bcae6
mov ecx, dword [esp + 0x2c]
add esp, 0x14
mov edx, dword [esp + 0x30]
cmp ecx, edx
jae 0x4c1d25
mov ebx, dword [esp + 0x54]
add eax, 0x10
mov dword [esp + 0x20], eax
lea edi, [eax - 0x10]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x60]
cmp dword [eax - 0x10], ebp
jg 0x4c1d0f
cmp ebp, dword [eax - 0xc]
jg 0x4c1d0f
mov edx, dword [eax]
mov dword [esp + 0x14], edx
mov edx, dword [eax - 4]
mov dword [esp + 0x28], edx
test edx, edx
jle 0x4c1d0b
mov eax, dword [esi + 0x1c]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x24], eax
test eax, eax
jle 0x4c1cbd
push dword [esi + 0x1c]
push dword [ecx]
push dword [esp + 0x1c]
call fcn.004c249a
add esp, 0xc
test eax, eax
jne 0x4c1cd1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
dec eax
add ecx, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ecx
test eax, eax
jg 0x4c1c8c
mov edx, dword [esp + 0x28]
add dword [esp + 0x14], 0x10
dec edx
mov dword [esp + 0x28], edx
test edx, edx
jle 0x4c1d03
mov eax, dword [esp + 0x38]
jmp 0x4c1c7a
push dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
push dword [esp + 0x70]
mov byte [esp + 0x1b], 1
push dword [esp + 0x70]
push dword [esp + 0x48]
push dword [eax]
push dword [esp + 0x28]
push edi
push dword [esp + 0x78]
push dword [esp + 0x70]
push ebx
push esi
call fcn.004c199a
add esp, 0x2c
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
inc ecx
add eax, 0x14
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
cmp ecx, edx
jb 0x4c1c35
xor ebx, ebx
cmp byte [esp + 0x64], 0
je 0x4c1d36
push 1
push esi
call fcn.004c16d4
pop ecx
pop ecx
cmp byte [esp + 0x13], 0
jne 0x4c1dc8
mov eax, dword [edi]
and eax, 0x1fffffff
cmp eax, 0x19930521
jb 0x4c1dc8
cmp dword [edi + 0x1c], 0
je 0x4c1dc8
push dword [edi + 0x1c]
push esi
call fcn.004c1f7e
pop ecx
pop ecx
test al, al
jne 0x4c1dc8
call fcn.004c75ad
call fcn.004c75ad
call fcn.004c75ad
mov dword [eax + 0x88], esi
call fcn.004c75ad
cmp dword [esp + 0x6c], 0
mov ecx, dword [esp + 0x50]
push esi
mov dword [eax + 0x8c], ecx
jne 0x4c1e25
push dword [esp + 0x58]
jmp 0x4c1e29
mov eax, dword [esp + 0x58]
cmp dword [edi + 0xc], ebx
jbe 0x4c1dc8
cmp byte [esp + 0x64], bl
jne 0x4c1de9
push dword [esp + 0x6c]
push dword [esp + 0x6c]
push ebp
push edi
push dword [esp + 0x6c]
push eax
push dword [esp + 0x6c]
push esi
call fcn.004c1e4a
add esp, 0x20
call fcn.004c75ad
cmp dword [eax + 0x94], ebx
je 0x4c1de1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
jmp fcn.004c9cbc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3c
ret
call fcn.004c9cf4
push 1
push esi
call fcn.004c16d4
pop ecx
pop ecx
lea eax, [esp + 0x54]
mov dword [esp + 0x54], str.bad_exception
push eax
lea ecx, [esp + 0x44]
call fcn.004c099a
push 0x4f41d4
lea eax, [esp + 0x44]
mov dword [esp + 0x44], vtable.std::bad_exception.0
push eax
call fcn.004bc767
push dword [esp + 0x70]
call fcn.004bcb98
push 0xffffffffffffffff
push edi
push dword [esp + 0x64]
push dword [esp + 0x60]
call fcn.004c22e0
add esp, 0x10
push dword [edi + 0x1c]
call fcn.004c195a
int3