Function at 0x4ca1b5
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 0x4ca1d4
push eax
call fcn.005b89dd
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.0042b5f0
lea ecx, [esi + 0x199ab10]
call fcn.0042b500
lea edi, [esi + 0x199ab2c]
mov dword [esi + 0x199ab40], ebx
mov byte [esi + 0x199abb8], bl
mov dword [esi + 0x199abac], ebx
mov dword [esi + 0x199abb4], ebx
mov dword [esi + 0x199abbc], ebx
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x4ca255
mov ecx, dword [edi + 8]
sub ecx, eax
sar ecx, 2
cmp ecx, 1
jge 0x4ca309
xor ebp, ebp
mov dword [esp + 0x10], ebp
jmp 0x4ca261
mov ebp, dword [esp + 0x10]
push 4
call fcn.005b8072
add esp, 4
cmp ebp, 7
mov byte [eax + 2], bl
mov byte [eax + 3], bl
ja case.default.0x4ca276
jmp dword [ebp*4 + 0x4ca7c4]
mov word [eax], 2
jmp case.default.0x4ca276
mov word [eax], 0x101
jmp case.default.0x4ca276
mov word [eax], 0x201
jmp case.default.0x4ca276
mov word [eax], 6
jmp case.default.0x4ca276
mov word [eax], 0x301
jmp case.default.0x4ca276
mov word [eax], bx
jmp case.default.0x4ca276
mov word [eax], 3
jmp case.default.0x4ca276
mov word [eax], 0x401
mov ebp, dword [edi + 4]
cmp ebp, ebx
mov dword [esp + 0x14], eax
jne 0x4ca2c0
xor edx, edx
jmp 0x4ca2c8
mov edx, dword [edi + 8]
sub edx, ebp
sar edx, 2
cmp ebp, ebx
je 0x4ca2e5
mov ecx, dword [edi + 0xc]
sub ecx, ebp
sar ecx, 2
cmp edx, ecx
jae 0x4ca2e5
mov ecx, dword [edi + 8]
mov dword [ecx], eax
add ecx, 4
mov dword [edi + 8], ecx
jmp 0x4ca2f7
mov eax, dword [edi + 8]
lea ecx, [esp + 0x14]
push ecx
push 1
push eax
mov ecx, edi
call fcn.004c9900
mov eax, dword [esp + 0x10]
inc eax
cmp eax, 8
mov dword [esp + 0x10], eax
jl 0x4ca25d
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 + 0x199abc6]
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 ebx, [ebx]
mov dword [eax - 0x50], ebx
mov dword [eax], ebx
add eax, 4
dec ecx
jne 0x4ca570
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.004c55e0
lea ecx, [esi + 0x19971c8]
call fcn.0042b710
lea ecx, [esi + 0x19971e0]
call fcn.0048b320
lea ecx, [esi + 0x199719c]
call fcn.0042b500
lea ecx, [esi + 0x1997184]
call fcn.0042b500
lea ecx, [esi + 0x199716c]
call fcn.0042b500
lea ecx, [esi + 0x19971b4]
call fcn.0042b480
lea ecx, [esi + 0x1997218]
call fcn.004c8b60
lea ecx, [esi + 0x199722c]
call fcn.0042b500
lea ecx, [esi + 0x1997244]
call fcn.0042b500
lea ecx, [esi + 0x199725c]
call fcn.0042b500
lea ecx, [esi + 0x1997274]
call fcn.0042b500
lea ecx, [esi + 0x199728c]
call fcn.0042b500
lea ecx, [esi + 0x19972a4]
call fcn.0042b570
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.004ae7f0
mov dword [esi + 0x199b09c], ebx
mov word [esi + 0x199b0a0], bx
mov byte [esi + 0x199b0a2], bl
mov byte [esi + 0x199b0a3], bl
mov byte [esi + 0x199b0a4], 2
mov dword [esi + 0x199b0ac], 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 + 0x199b0f4]
rep stosd dword es:[edi], eax
mov dword [esi + 0x199b2f4], ebx
mov dword [esi + 0x199b2f8], ebx
mov dword [esi + 0x199b2fc], ebx
lea edx, [esi + 0x199b300]
mov dword [edx], eax
mov ecx, eax
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
mov dword [esi + 0x199b30c], ebx
mov edx, eax
lea ecx, [esi + 0x199b310]
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 + 0x199b0dc]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov dword [esi + 0x199b31c], ebx
call fcn.0042b500
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret