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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x4c21d1
sub esp, 0xa0
mov eax, dword [esp + 0xa4]
cmp byte [eax + 0x49], 0xff
je 0x4c19df
lea eax, [0x5dfd40]
mov dword [esp], eax
call fcn.00463e50
mov eax, dword [esp + 8]
lea ecx, [0x4f38a0]
cmp dword [esp + 4], ecx
je 0x4c1971
lea eax, [0x4ff220]
mov dword [esp], eax
call fcn.0040b480
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov edx, dword [eax + 0x2c]
mov ecx, dword [esp + 0xc8]
cmp ecx, edx
jg 0x4c198e
ja 0x4c21cb
mov dword [eax + 0x28], ecx
jmp 0x4c19d8
lea eax, [0x4f9820]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00446cb0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc8]
mov edi, dword [esp + 0x74]
mov dword [edi + 0x28], ecx
mov dword [edi + 0x2c], ecx
mov ecx, dword [0x605b20]
test ecx, ecx
jne 0x4c19c8
mov dword [edi + 0x24], eax
jmp 0x4c19d6
lea edx, [edi + 0x24]
mov ecx, edi
mov edi, edx
call fcn.0045d600
mov edi, ecx
mov eax, edi
mov edx, dword [eax + 0x28]
xor ecx, ecx
jmp 0x4c1a10
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xa0
ret
mov dword [ebp + ecx*4], 0xffffffff
inc ecx
cmp ecx, edx
jge 0x4c1a23
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
cmp ecx, ebx
jb 0x4c1a07
jmp 0x4c21c2
mov ecx, dword [esp + 0xa8]
test ecx, ecx
je 0x4c1a7b
nop
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x605b20]
test ecx, ecx
jne 0x4c1a4f
mov ecx, dword [esp + 0xac]
mov dword [eax + 0x18], ecx
jmp 0x4c1a62
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.0045d600
mov eax, ecx
mov byte [eax + 0x1c], 0
mov dword [eax + 0x20], 0
lea ecx, [eax + 0x14]
lea edx, [0x53d8c8]
jmp 0x4c1afb
mov ecx, dword [esp + 0xb0]
test ecx, ecx
je 0x4c1abe
nop
mov edx, dword [esp + 0xb4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0xb8]
mov dword [eax + 8], edx
mov edx, dword [0x605b20]
test edx, edx
jne 0x4c1aa9
mov dword [eax], ecx
jmp 0x4c1ab4
mov edi, eax
mov eax, ecx
call fcn.0045d600
mov eax, edi
lea edx, [0x53d8a4]
mov ecx, eax
jmp 0x4c1afb
nop
mov ecx, dword [esp + 0xc0]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x605b20]
test ecx, ecx
jne 0x4c1adf
mov ecx, dword [esp + 0xbc]
mov dword [eax + 0xc], ecx
jmp 0x4c1af2
lea edi, [eax + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.0045d600
mov eax, ecx
lea ecx, [eax + 0xc]
lea edx, [0x53d8ec]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x20], edx
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
mov ebx, dword [esp + 0xc4]
mov dword [esp + 4], ebx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x28], ecx
cmp eax, 0xffffffff
jne 0x4c1b34
mov edx, 0xffffffff
xor ebx, ebx
jmp 0x4c1b67
mov eax, dword [esp + 0x20]
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
mov ebp, dword [esp + 0xc4]
lea esi, [ebp + ecx]
mov dword [esp + 4], esi
call edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0xc4]
test ebp, ebp
jne 0x4c1b83
mov esi, eax
mov edi, 0xffffffff
jmp 0x4c1bb8
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], ebp
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x30]
mov edi, ecx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xa4]
mov ebx, dword [edx + 0xc]
mov edx, dword [ebx + 0xc]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp ebp, edx
jbe 0x4c21b9
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edi
lea ebp, [edx + edx*8]
lea ebx, [ebx + ebp*4]
mov ebp, edi
lea edi, [esp + 0x7c]
mov esi, ebx
call fcn.0045dc96
mov ecx, dword [esp + 0xc4]
test ecx, ecx
je 0x4c1c00
xor ebx, ebx
jmp 0x4c1c31
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ebp
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.004c0870
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x40]
mov ebx, eax
mov eax, dword [esp + 0x3c]
test bl, bl
je 0x4c1c7c
mov ebx, dword [esp + 0xa4]
mov esi, ebx
mov ebx, dword [ebx + 0x28]
test ebx, ebx
jg 0x4c1c49
xor ebx, ebx
jmp 0x4c1c85
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x38]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0xa4]
mov ebx, eax
mov eax, dword [esp + 0x3c]
jmp 0x4c1c85
mov esi, dword [esp + 0xa4]
xor ebx, ebx
test bl, bl
jne 0x4c1c96
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
jmp 0x4c1d59
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], esi
call ecx
movzx eax, byte [esp + 8]
test al, al
je 0x4c1d7e
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x70]
mov dword [esp], ebp
mov esi, dword [esp + 0xc4]
add ecx, esi
mov dword [esp + 0x44], ecx
mov dword [esp + 4], ecx
call ebx
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x20]
mov ebp, dword [esp + 0x70]
mov dword [esp], ebp
mov esi, dword [esp + 0x44]
lea edi, [esi + eax]
mov dword [esp + 4], edi
call ebx
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x20]
mov ebx, dword [edx + 0x14]
mov ebp, dword [esp + 0x70]
mov dword [esp], ebp
mov esi, dword [esp + 0x44]
mov dword [esp + 4], esi
call ebx
mov eax, dword [esp + 0xa4]
mov edx, dword [eax + 0x3c]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xc]
mov esi, eax
mov ebp, edi
mov eax, ecx
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x60]
jmp 0x4c1ea9
xor eax, eax
test al, al
je 0x4c1e4e
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xd0]
lea ebx, [edx + ecx]
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 0x24]
mov esi, dword [esp + 0xd4]
cmp esi, ebx
jb 0x4c1db4
mov edi, dword [esp + 0xcc]
jmp 0x4c1dfc
mov dword [esp + 0x78], ebp
mov dword [esp + 0x54], ecx
lea eax, [0x4f9820]
mov dword [esp], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00446d70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xd0]
mov ebp, dword [esp + 0x78]
mov edi, eax
mov esi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x54], esi
mov dword [esp + 0x78], edi
lea eax, [edi + edx*4]
mov dword [esp], eax
mov dword [esp + 4], ebp
shl ecx, 2
mov dword [esp + 8], ecx
call fcn.0045dee0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004c1830
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xe0], eax
add esp, 0xa0
ret
mov eax, dword [esp + 0x74]
mov dword [esp], eax
call fcn.004c1830
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
add esp, 0xa0
ret
mov eax, ebp
mov ebp, esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], edi
mov esi, dword [esp + 0xa4]
mov edi, ebx
mov ebx, dword [esp + 0x44]
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebx
mov ebx, dword [esi + 0xc]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
cmp edx, ebp
jae 0x4c21b0
mov dword [esp + 0x54], ecx
mov dword [esp + 0x30], edi
lea edx, [edx + edx*8]
lea edx, [ebx + edx*4]
mov ebx, edi
lea edi, [esp + 0x7c]
mov ebp, esi
mov esi, edx
call fcn.0045dc96
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x50], ecx
movzx edx, byte [esp + 0x7c]
cmp dl, 5
ja 0x4c1ff4
mov dword [esp + 0x4c], eax
cmp dl, 2
ja 0x4c1f97
cmp dl, 1
jbe 0x4c1f57
mov edx, dword [esp + 0x84]
mov esi, ebp
mov ebp, dword [esp + 0x74]
mov edi, ebx
mov ebx, dword [ebp + 0x28]
mov ebp, dword [ebp + 0x24]
cmp edx, ebx
jge 0x4c1f32
jae 0x4c21a7
mov ebx, dword [esp + 0x54]
mov dword [ebp + edx*4], ebx
jmp 0x4c1f36
mov ebx, dword [esp + 0x54]
mov eax, esi
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov ebx, edi
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
jmp 0x4c1e82
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.004c27b0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xa4]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
jmp 0x4c1e82
cmp dl, 3
jne 0x4c2123
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x40]
mov dword [esp + 4], edx
mov dword [esp], eax
mov byte [esp + 8], cl
call fcn.004c0870
movzx eax, byte [esp + 0xc]
test al, al
je 0x4c211c
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
jmp 0x4c1e82
cmp dl, 7
ja 0x4c2054
cmp dl, 6
jne 0x4c2020
mov esi, dword [esp + 0x40]
mov ebp, eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0xa4]
jmp 0x4c1e82
lea eax, [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.004bbc60
cmp dword [esp + 8], 0xffffffff
je 0x4c2160
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
jmp 0x4c20a4
cmp dl, 8
jne 0x4c207f
mov edx, dword [esp + 0x8c]
mov eax, ebp
mov ebp, dword [esp + 0x88]
test edx, edx
jbe 0x4c2194
mov edx, dword [esp + 0x34]
cmp dword [ebp], edx
je 0x4c20a4
jmp 0x4c2167
cmp dl, 9
jne 0x4c208c
mov eax, ebp
mov edx, dword [esp + 0x34]
jmp 0x4c20a4
cmp dl, 0xa
jne 0x4c217c
mov edx, dword [esp + 0x34]
cmp edx, 0xa
je 0x4c2175
mov eax, ebp
mov ebp, dword [esp + 0x44]
test ebp, ebp
je 0x4c216e
mov esi, edx
mov edx, dword [esp + 0x54]
add edx, ebp
cmp ebx, 0xffffffff
jne 0x4c20c5
mov ebp, ebx
mov edi, dword [esp + 0x28]
jmp 0x4c2107
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x20]
mov ebx, dword [esp + 0x70]
mov dword [esp], ebx
mov ebp, dword [esp + 0x28]
lea esi, [edx + ebp]
mov dword [esp + 4], esi
call ecx
mov edi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov ebx, edi
mov edi, eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
jmp 0x4c1e82
xor eax, eax
jmp 0x4c1d80
cmp dl, 4
jne 0x4c2159
mov edx, dword [esp + 0x74]
mov ebx, dword [edx + 0x28]
mov ebp, dword [edx + 0x24]
test ebx, ebx
jle 0x4c214f
mov dword [ebp], 0
mov ecx, dword [edx + 0x28]
mov ebx, dword [edx + 0x24]
cmp ecx, 1
jbe 0x4c219d
mov eax, dword [esp + 0x54]
mov dword [ebx + 4], eax
mov eax, 1
jmp 0x4c1d80
xor eax, eax
jmp 0x4c1d80
xor eax, eax
jmp 0x4c1d80
xor eax, eax
jmp 0x4c1d80
xor eax, eax
jmp 0x4c1d80
xor eax, eax
jmp 0x4c1d80
lea eax, [0x4f9fa0]
mov dword [esp], eax
lea eax, [0x53af90]
mov dword [esp + 4], eax
call fcn.00433110
xor eax, eax
mov ecx, edx
call fcn.0045d680
mov eax, 1
call fcn.0045d680
mov eax, edx
mov ecx, ebx
call fcn.0045d690
mov eax, edx
mov ecx, ebp
call fcn.0045d680
mov eax, edx
mov ecx, ebp
call fcn.0045d680
mov eax, ecx
mov ecx, ebx
call fcn.0045d680
call fcn.0045d6c0
nop
call fcn.0045c1c0
jmp fcn.004c1910