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

Disassembly:
push 0xffffffffffffffff
push 0x66e5a3
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [0x8a0c44]
xor eax, esp
mov dword [esp + 0x6c], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8a0c44]
xor eax, esp
push eax
lea eax, [esp + 0x84]
mov dword fs:[0], eax
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x94]
push str.CVAL
push ebx
mov esi, ecx
push edi
mov dword [esp + 0x48], esi
call fcn.004b2740
mov ecx, esi
mov dword [esp + 0x8c], 0
mov dword [esi], vtable.DuckCval.0
call fcn.004a1f10
push 0x8f
push ebx
push edi
call fcn.0051c190
mov ebp, edx
add esp, 0xc
mov ecx, eax
mov dword [esp + 0x1c], ecx
test ebp, ebp
jl 0x4c2b30
jg 0x4c2b22
cmp ecx, 0x100
jbe 0x4c2b30
mov dword [esp + 0x1c], 0x100
mov ecx, dword [esp + 0x1c]
xor ebp, ebp
lea eax, [esi + 0xac]
push eax
lea eax, [esp + 0x2c]
push eax
push ebp
push ecx
lea ecx, [esi + 0x30]
push ecx
lea edx, [esp + 0x2c]
push edx
push ebx
push edi
call fcn.0050b0d0
add esp, 0x20
mov dword [esp + 0x14], eax
cmp eax, 0x58
jne 0x4c2c70
cmp dword [esp + 0x1c], 4
jne 0x4c2c33
test ebp, ebp
jne 0x4c2c33
mov ecx, dword [esp + 0x18]
push 0x40
lea eax, [esp + 0x44]
push eax
push 0x20
push ecx
push edi
call fcn.0051b9e0
mov dword [esp + 0x28], eax
add esp, 0x14
mov ecx, str.omfi:data:Rational
lea eax, [esp + 0x40]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4c2bb5
test dl, dl
je 0x4c2bb1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4c2bb5
add eax, 2
add ecx, 2
test dl, dl
jne 0x4c2b95
xor eax, eax
jmp 0x4c2bba
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4c2c33
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x34]
push eax
push str.omfi:data:Int32
push edi
call fcn.0051c7d0
lea ecx, [esp + 0x44]
push ecx
push 0
push 4
call fcn.0051ef90
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x38]
push edx
mov edx, dword [esp + 0x50]
push eax
push 0
push 0
lea ecx, [esp + 0x64]
push ecx
push edx
push 0x8f
push ebx
push edi
call fcn.0051bbc0
mov eax, dword [esp + 0x78]
lea ebp, [esi + 0xa8]
add esp, 0x40
mov dword [esi + 0xac], eax
mov dword [esi + 0xb0], 0x64
mov dword [ebp], 8
mov dword [esp + 0x14], 0
jmp 0x4c2c90
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x8a3ae4]
mov eax, dword [edx + 8]
push ebp
push ecx
push str.__CVAL_complaining_about_bfr_being_too_small___d__n
push eax
call fcn.00437100
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
lea ebp, [esi + 0xa8]
push ebp
push ecx
push edx
call fcn.0051ef90
add esp, 0x1c
mov dword [esp + 0x14], 0
jmp 0x4c2c90
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
lea ebp, [esi + 0xa8]
push ebp
push eax
push ecx
call fcn.0051ef90
add esp, 0xc
cmp dword [esp + 0x14], 0
jne 0x4c2ccd
cmp dword [esp + 0x18], 0
je 0x4c2ccd
push 0x70
call fcn.0063f278
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x8c], 1
test eax, eax
je 0x4c2cc0
mov edx, dword [esp + 0x18]
push edx
push edi
mov ecx, eax
call fcn.004b25b0
jmp 0x4c2cc2
xor eax, eax
mov byte [esp + 0x8c], 0
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x2c]
push eax
call fcn.004b2990
mov dword [esi + 0x1ac], eax
mov edx, dword [0x8a3ae4]
mov ecx, 0x4d4d
cmp word [edx + 0x44], cx
sete cl
movzx edx, cl
mov ecx, dword [ebp]
push edx
push ecx
lea ecx, [esi + 0xac]
push ecx
push eax
call fcn.0046a870
lea edx, [esp + 0x38]
push edx
push 0x40
push str.ParameterID
push ebx
push edi
mov dword [esp + 0x4c], 0
call fcn.00471860
add esp, 0x28
mov dword [esp + 0x14], eax
test eax, eax
jne 0x4c2d51
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4c2d51
mov ecx, dword [0x8a3ae4]
movzx edx, word [ecx + 0x44]
push edx
mov edx, dword [esi + 0x18]
lea ecx, [esi + 0x1b4]
push ecx
push eax
push edx
push edi
call fcn.00472400
add esp, 0x14
mov eax, esi
mov ecx, dword [esp + 0x84]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x6c]
xor ecx, esp
call fcn.0063ecb3
add esp, 0x7c
ret 8