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

Disassembly:
sub esp, 0x14
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x1997e7c]
xor ebx, ebx
cmp eax, ebx
push edi
je 0x4c9274
push eax
call fcn.005ba86d
add esp, 4
mov dword [esi + 0x1997e7c], ebx
xor eax, eax
mov dword [esi + 0x1997f00], ebx
mov byte [esi + 0x1997e7a], 0xff
mov ecx, 0x7f8
lea edi, [esi + 0x5606]
rep stosd dword es:[edi], eax
mov ecx, 0x7f8
lea edi, [esi + 0x1998578]
rep stosd dword es:[edi], eax
lea ecx, [esi + 0x199aafc]
mov byte [esi + 0x199aaf8], bl
call fcn.0042bae0
lea ecx, [esi + 0x199ab10]
call fcn.004c7d60
cmp dword [esi + 0x199abbc], ebx
mov dword [esi + 0x199ab40], ebx
mov byte [esi + 0x199abb4], bl
mov word [esi + 0x199abac], bx
mov dword [esi + 0x199abb0], ebx
mov dword [esi + 0x199abb8], ebx
jne 0x4c92e7
mov ecx, esi
call fcn.004c21e0
mov ecx, dword [esi + 0x199ab30]
cmp ecx, ebx
lea edi, [esi + 0x199ab2c]
je 0x4c9308
mov eax, dword [edi + 8]
sub eax, ecx
sar eax, 2
cmp eax, 1
jge 0x4c93bc
xor ebp, ebp
mov dword [esp + 0x10], ebp
jmp 0x4c9314
mov ebp, dword [esp + 0x10]
push 4
call fcn.005b9e72
add esp, 4
cmp ebp, 7
mov byte [eax + 2], bl
mov byte [eax + 3], bl
ja case.default.0x4c9329
jmp dword [ebp*4 + 0x4c9874]
mov word [eax], 2
jmp case.default.0x4c9329
mov word [eax], 0x101
jmp case.default.0x4c9329
mov word [eax], 0x201
jmp case.default.0x4c9329
mov word [eax], 6
jmp case.default.0x4c9329
mov word [eax], 0x301
jmp case.default.0x4c9329
mov word [eax], bx
jmp case.default.0x4c9329
mov word [eax], 3
jmp case.default.0x4c9329
mov word [eax], 0x401
mov ebp, dword [edi + 4]
cmp ebp, ebx
mov dword [esp + 0x14], eax
jne 0x4c9373
xor edx, edx
jmp 0x4c937b
mov edx, dword [edi + 8]
sub edx, ebp
sar edx, 2
cmp ebp, ebx
je 0x4c9398
mov ecx, dword [edi + 0xc]
sub ecx, ebp
sar ecx, 2
cmp edx, ecx
jae 0x4c9398
mov ecx, dword [edi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [edi + 8], ecx
jmp 0x4c93aa
mov eax, dword [edi + 8]
lea ecx, [esp + 0x14]
push ecx
push 1
push eax
mov ecx, edi
call fcn.004c89f0
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 8
mov dword [esp + 0x10], eax
jl 0x4c9310
xor eax, eax
mov ecx, 0xc8
lea edi, [esi + 0x19972dc]
rep stosd dword es:[edi], eax
mov ecx, 0x4c8
lea edi, [esi + 0x1090]
rep stosd dword es:[edi], eax
mov ecx, 0x132
lea edi, [esi + 0x199abc2]
rep stosd dword es:[edi], eax
xor edx, edx
mov ecx, 0x60
lea edi, [esi + 0x1997600]
rep stosd dword es:[edi], eax
mov dword [esi + 0x1997780], ebx
mov eax, 3
mov dword [esi + 0x1997784], eax
mov dword [esi + 0x1997788], eax
mov dword [esi + 0x199778c], eax
mov dword [esi + 0x1997790], eax
lea eax, [esi + 0x1997794]
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], edx
xor eax, eax
mov ecx, 0x400
lea edi, [esi + 0x78]
rep stosd dword es:[edi], eax
mov ecx, 0x400
lea edi, [esi + 0x23bc]
rep stosd dword es:[edi], eax
mov byte [esi + 0x19975fc], bl
mov byte [esi + 0x19975fd], 1
mov dword [esi + 0x10], ebx
mov dword [esi + 8], ebx
mov dword [esi + 0xc], ebx
mov word [esi + 0x14], bx
mov word [esi + 0x16], bx
mov word [esi + 0x18], bx
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], ebx
mov word [esi + 0x28], bx
mov word [esi + 0x2a], bx
mov word [esi + 0x2c], bx
mov word [esi + 0x2e], bx
mov word [esi + 0x30], bx
mov word [esi + 0x32], bx
mov word [esi + 0x34], bx
mov word [esi + 0x36], bx
mov word [esi + 0x38], bx
mov dword [esi + 0x3c], ebx
mov dword [esi + 0x40], ebx
mov dword [esi + 0x44], ebx
mov dword [esi + 0x48], ebx
mov dword [esi + 0x4c], ebx
mov dword [esi + 0x50], ebx
mov dword [esi + 0x5c], ebx
mov dword [esi + 0x58], ebx
mov dword [esi + 0x54], ebx
mov dword [esi + 0x68], ebx
mov dword [esi + 0x64], ebx
mov dword [esi + 0x60], ebx
mov word [esi + 0x6c], bx
mov word [esi + 0x6e], bx
mov byte [esi + 0x70], bl
mov byte [esi + 0x71], bl
mov byte [esi + 0x72], bl
mov word [esi + 0x74], bx
mov word [esi + 0x76], bx
mov dword [esi + 0x108c], ebx
mov word [esi + 0x1088], bx
mov word [esi + 0x1078], bx
mov dword [esi + 0x1084], ebx
mov dword [esi + 0x1080], ebx
mov dword [esi + 0x107c], ebx
mov dword [esi + 0x23b0], ebx
mov dword [esi + 0x33f8], ebx
mov dword [esi + 0x33fc], ebx
mov dword [esi + 0x7820], ebx
mov dword [esi + 0x7824], ebx
mov dword [esi + 0x7828], ebx
mov dword [esi + 0x782c], ebx
mov dword [esi + 0x7830], ebx
mov byte [esi + 0x7834], bl
mov word [esi + 0x7836], bx
mov byte [esi + 0x7838], bl
mov word [esi + 0x783a], bx
mov byte [esi + 0x783c], bl
mov byte [esi + 0x783d], bl
mov dword [esi + 0x7840], ebx
mov dword [esi + 0x19972bc], ebx
mov byte [esi + 0x19972c0], bl
mov dword [esi + 0x19972c4], ebx
mov dword [esi + 0x19972c8], ebx
mov dword [esi + 0x19972cc], ebx
mov dword [esi + 0x19972d0], ebx
mov dword [esi + 0x7848], ebx
mov dword [esi + 0x784c], ebx
mov dword [esi + 0x7850], ebx
mov dword [esi + 0x7854], ebx
mov dword [esi + 0x7858], ebx
mov dword [esi + 0x785c], ebx
mov dword [esi + 0x7860], ebx
mov byte [esi + 0x1997168], bl
mov dword [esi + 0x19972d4], ebx
mov byte [esi + 0x19972d8], 3
mov byte [esi + 0x19972d9], 2
mov byte [esi + 0x19972db], bl
mov byte [esi + 0x19977b4], bl
mov byte [esi + 0x19977b5], bl
mov byte [esi + 0x19977b6], bl
mov byte [esi + 0x19977b7], bl
mov word [esi + 0x19977b8], bx
mov byte [esi + 0x75e6], bl
mov byte [esi + 0x1997169], bl
mov dword [esi + 0x19977c8], ebx
mov dword [esi + 0x19977cc], ebx
mov dword [esi + 0x19977d0], ebx
mov dword [esi + 0x19977d4], ebx
mov dword [esi + 0x19977d8], ebx
lea eax, [esi + 0x19978a4]
mov ecx, 0x14
lea ecx, [ecx]
mov dword [eax - 0x50], ebx
mov dword [eax], ebx
add eax, 4
dec ecx
jne 0x4c9620
mov dword [esi + 0x19978f8], ebx
mov dword [esi + 0x19978fc], ebx
mov dword [esi + 0x199790c], ebx
mov dword [esi + 0x1997908], ebx
mov dword [esi + 0x1997904], ebx
lea ecx, [esi + 0x19977dc]
mov dword [esi + 0x1997900], ebx
call fcn.004c48e0
lea ecx, [esi + 0x19971c8]
call fcn.0042bc00
lea ecx, [esi + 0x19971e0]
call fcn.0048ae60
lea ecx, [esi + 0x199719c]
call fcn.004c7d60
lea ecx, [esi + 0x1997184]
call fcn.004c7d60
lea ecx, [esi + 0x199716c]
call fcn.004c7d60
lea ecx, [esi + 0x19971b4]
call fcn.0042b9e0
lea ecx, [esi + 0x1997218]
call fcn.004c7be0
lea ecx, [esi + 0x199722c]
call fcn.004c7d60
lea ecx, [esi + 0x1997244]
call fcn.004c7d60
lea ecx, [esi + 0x199725c]
call fcn.004c7d60
lea ecx, [esi + 0x1997274]
call fcn.004c7d60
lea ecx, [esi + 0x199728c]
call fcn.004c7d60
lea ecx, [esi + 0x19972a4]
call fcn.0042ba60
mov word [esi + 0x1997e04], bx
mov word [esi + 0x1997e06], bx
mov dword [esi + 0x1997e0c], ebx
mov dword [esi + 0x1997e08], ebx
or ebp, 0xffffffff
mov dword [esi + 0x1997e14], ebp
mov dword [esi + 0x1997e10], ebp
mov dword [esi + 0x1997e38], ebx
mov dword [esi + 0x1997e34], ebx
mov dword [esi + 0x1997e40], ebx
mov dword [esi + 0x1997e3c], ebx
mov dword [esi + 0x1997e44], ebx
xor eax, eax
mov ecx, 0xc
lea edi, [esi + 0x1997e48]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov byte [esi + 0x1997f48], bl
mov byte [esi + 0x1997f49], bl
xor eax, eax
mov ecx, 0xb4
lea edi, [esi + 0x1997f4a]
rep stosd dword es:[edi], eax
mov ecx, 0xb4
lea edi, [esi + 0x199821a]
rep stosd dword es:[edi], eax
mov dword [esi + 0x19984ec], ebx
mov byte [esi + 0x1998536], 1
mov byte [esi + 0x19984f0], 1
mov byte [esi + 0x1998534], bl
xor ecx, ecx
mov byte [esi + 0x1998535], bl
mov dword [esi + 0x1998537], ecx
mov word [esi + 0x199853b], cx
lea ecx, [esi + 0x199855c]
call fcn.004c4960
mov dword [esi + 0x199b098], ebx
mov word [esi + 0x199b09c], bx
mov byte [esi + 0x199b09e], bl
mov byte [esi + 0x199b09f], bl
mov byte [esi + 0x199b0a0], 2
mov dword [esi + 0x199b0a8], ebx
mov dword [esi + 0x1997920], ebx
mov dword [esi + 0x199791c], ebx
mov byte [esi + 0x1997ade], bl
mov dword [esi + 0x1997ae0], ebx
mov byte [esi + 0x1997ae4], bl
mov dword [esi + 0x1997ae8], ebp
mov dword [esi + 0x1997aec], ebp
xor eax, eax
mov dword [esi + 0x1998540], ebx
mov ecx, 0x80
lea edi, [esi + 0x199b0f0]
rep stosd dword es:[edi], eax
mov dword [esi + 0x199b2f0], ebx
mov dword [esi + 0x199b2f4], ebx
mov dword [esi + 0x199b2f8], ebx
lea edx, [esi + 0x199b2fc]
mov dword [edx], eax
mov ecx, eax
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov dword [esi + 0x199b308], ebx
mov edx, eax
lea ecx, [esi + 0x199b30c]
mov dword [ecx], edx
mov dword [ecx + 4], eax
mov dword [ecx + 8], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea ecx, [esi + 0x199b0d8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x199b318], ebx
call fcn.004c7d60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret