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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x26c
mov eax, dword [0x4d4770]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0xc]
mov eax, ecx
push ebx
push esi
mov esi, dword [ebp + 8]
xor ebx, ebx
movzx ecx, word [eax + 0x80]
mov dword [ebp - 0x254], eax
push edi
push 3
pop edi
cmp edx, 2
je 0x4a6659
cmp edx, 4
je 0x4a6659
mov byte [ebp - 0x24d], 1
cmp edx, edi
jne 0x4a665f
mov byte [ebp - 0x24d], bl
test dword [eax + 0x60], 0x20000
je 0x4a6707
mov eax, dword [0x4d6258]
cmp dword [eax + 0x50], edi
je 0x4a66f0
cmp dword [eax + 0x50], 2
je 0x4a66f0
push 0x28
pop ecx
cmp edx, edi
jne 0x4a66dc
cmp dword [eax + 0x3c], 0x64
jl 0x4a66a9
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x4332c4
mov ecx, eax
call fcn.00489d09
mov edi, eax
jmp 0x4a67d2
call fcn.004cc0e2
test eax, eax
je 0x4a66c8
push 0x4332dc
mov ecx, eax
call fcn.00489d09
mov edi, eax
mov dword [ebp - 0x24c], edi
jmp 0x4a66d0
mov edi, ebx
mov dword [ebp - 0x24c], ebx
mov byte [ebp - 0x24d], 1
jmp 0x4a67d8
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x4332dc
jmp 0x4a669b
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x4332a8
jmp 0x4a669b
test dword [eax + 0x60], 0x8000
mov eax, dword [0x4d6258]
je 0x4a676b
cmp dword [eax + 0x50], edi
je 0x4a6755
cmp dword [eax + 0x50], 2
je 0x4a6755
push 0x28
pop ecx
cmp edx, edi
jne 0x4a673e
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x43330c
jmp 0x4a669b
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x433320
jmp 0x4a669b
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x4332f4
jmp 0x4a669b
cmp dword [eax + 0x50], edi
je 0x4a67ba
cmp dword [eax + 0x50], 2
je 0x4a67ba
push 0x28
test cl, cl
pop ecx
jns 0x4a67a7
cmp edx, edi
jne 0x4a6794
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x433344
jmp 0x4a669b
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x433354
jmp 0x4a669b
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x433364
jmp 0x4a669b
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a67d0
push 0x433334
jmp 0x4a669b
mov edi, ebx
mov dword [ebp - 0x24c], edi
mov eax, dword [0x4d6258]
cmp dword [eax + 0x50], 3
je 0x4a6939
cmp dword [eax + 0x50], 2
je 0x4a6939
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a680f
mov ecx, dword [esi + 0x1c]
push dword [ecx + 0x98]
mov ecx, eax
call fcn.004429f6
jmp 0x4a6811
mov eax, ebx
mov ecx, eax
call fcn.004c9c7c
mov edx, eax
mov ecx, 0x4327ac
call fcn.004c9dc9
push 0x28
pop ecx
mov dword [ebp - 0x248], eax
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6853
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a6855
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
mov ecx, dword [0x4d6258]
mov esi, 0x4d7250
push ebx
push esi
push ebx
mov ecx, dword [ecx + 0xbc]
push ebx
call fcn.004ca426
push 0x104
mov edx, 0x4d7040
mov ecx, esi
call fcn.0048be18
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx]
mov esi, dword [eax + 0xe0]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x254]
call esi
push eax
push 0x42d9e8
push 0x4d7040
push 0x433374
lea eax, [ebp - 0x244]
push 0x23d
push eax
call fcn.00442802
add esp, 0x18
test eax, eax
jne 0x4a6fa4
lea esi, [ebp - 0x244]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x4a68db
sub esi, ecx
lea ecx, [esi + 1]
call fcn.00442720
lea ecx, [ebp - 0x244]
mov dword [ebp - 0x248], eax
push ecx
lea edx, [esi + 1]
mov ecx, eax
call fcn.00442764
push 0x28
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6a8e
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6930
push dword [ebp - 0x248]
mov ecx, eax
call fcn.004429f6
jmp 0x4a6932
mov eax, ebx
push ebx
push eax
jmp 0x4a6a7a
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6957
mov ecx, dword [esi + 0x1c]
push dword [ecx + 0xa0]
mov ecx, eax
call fcn.004429f6
jmp 0x4a6959
mov eax, ebx
mov ecx, eax
call fcn.004c9c7c
mov edx, eax
mov ecx, 0x432790
call fcn.004c9dc9
push 0x28
pop ecx
mov dword [ebp - 0x248], eax
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a699b
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a699d
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
push 0x28
pop ecx
call fcn.004cc0e2
mov ecx, eax
test ecx, ecx
je 0x4a69cb
mov eax, dword [ebp - 0x254]
push 4
push dword [eax + 0x78]
call fcn.00442b1b
mov dword [ebp - 0x248], eax
jmp 0x4a69d1
mov dword [ebp - 0x248], ebx
push 0x28
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a69fa
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a69fc
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
mov eax, dword [ebp - 0x254]
test dword [eax + 0x60], 0x400000
je 0x4a6a41
test dword [eax + 0x60], 0x8000
jne 0x4a6a41
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6a36
push 0x42d270
mov ecx, eax
call fcn.004429f6
jmp 0x4a6a38
mov eax, ebx
mov ecx, eax
call fcn.004c9c7c
jmp 0x4a6a57
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6a5f
push 4
push ebx
mov ecx, eax
call fcn.00442b1b
mov dword [ebp - 0x258], eax
jmp 0x4a6a65
mov dword [ebp - 0x258], ebx
push 0x28
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6a8e
push ebx
push dword [ebp - 0x258]
push 0x24
mov ecx, esi
call fcn.00442e46
mov dword [esi + 0x24], ebx
mov dword [esi], 0x40a358
jmp 0x4a6a90
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x254]
call esi
test eax, eax
je 0x4a6b5e
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6adb
push 0x433390
mov ecx, eax
call fcn.004429f6
mov dword [ebp - 0x258], eax
jmp 0x4a6ae1
mov dword [ebp - 0x258], ebx
cmp byte [ebp - 0x24d], bl
je 0x4a6b18
push 0x20
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6b14
push dword [ebp - 0x258]
mov ecx, esi
push 7
call fcn.00442d36
and dword [esi + 8], 0xfffffffe
mov eax, esi
mov dword [esi], fcn.004c8d30
jmp 0x4a6b1e
mov eax, ebx
jmp 0x4a6b1e
mov eax, dword [ebp - 0x258]
mov ecx, eax
call fcn.004c9ee5
push 0x28
pop ecx
mov dword [ebp - 0x248], eax
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6b54
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a6b56
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
cmp dword [ebp + 0xc], 2
je 0x4a6c90
cmp dword [ebp + 0xc], 3
je 0x4a6c90
cmp dword [ebp + 0xc], 4
je 0x4a6c90
mov eax, dword [ebp - 0x254]
mov eax, dword [eax]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x254]
call esi
test eax, eax
jne 0x4a6e80
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x248], ecx
cmp dword [eax + 0xc0], ebx
je 0x4a6bdc
test ecx, ecx
je 0x4a6c72
test byte [ecx + 0x60], 0x80
jne 0x4a6bcd
test dword [ecx + 0x60], 0x300
je 0x4a6bd6
mov eax, dword [ecx + 8]
mov ecx, eax
test eax, eax
jne 0x4a6bbe
mov dword [ebp - 0x248], ecx
test ecx, ecx
je 0x4a6c72
push 0x20
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6c2b
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6c13
mov ecx, dword [ebp - 0x248]
mov ecx, dword [ecx + 0x38]
push dword [ecx + 0x14]
mov ecx, eax
call fcn.004429f6
jmp 0x4a6c15
mov eax, ebx
push eax
push 7
mov ecx, esi
call fcn.00442d36
and dword [esi + 8], 0xfffffffe
mov dword [esi], fcn.004c8d30
jmp 0x4a6c2d
mov esi, ebx
mov ecx, esi
call fcn.004c9ee5
push 0x28
pop ecx
mov dword [ebp - 0x248], eax
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6c63
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a6c65
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
jmp 0x4a6e80
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6c8a
push 4
push ebx
mov ecx, eax
call fcn.00442b1b
jmp 0x4a6c8c
mov eax, ebx
mov ecx, eax
jmp 0x4a6c2f
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x268]
push eax
mov ecx, esi
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x268], ebx
mov dword [ebp - 0x264], ebx
call fcn.004b1e14
test ax, ax
jne 0x4a6e20
mov eax, dword [esi]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x254]
call esi
test eax, eax
jne 0x4a6e75
push 0x28
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6e3c
push 4
push ebx
mov ecx, eax
call fcn.00442b1b
mov dword [ebp - 0x248], eax
jmp 0x4a6e42
mov eax, dword [ebp - 0x25c]
cmp dword [esi + 0xc0], ebx
je 0x4a6d26
test byte [eax + 0x60], 0x80
jne 0x4a6e20
test dword [eax + 0x60], 0x300
jne 0x4a6e20
test dword [esi + 0x60], 0x400000
je 0x4a6d38
cmp dword [eax + 8], ebx
je 0x4a6e20
push 0x20
pop ecx
call fcn.004cc0e2
mov esi, dword [ebp - 0x25c]
test eax, eax
je 0x4a6d5f
mov ecx, dword [esi + 0x38]
push dword [ecx + 0x14]
mov ecx, eax
call fcn.004429f6
mov dword [ebp - 0x258], eax
jmp 0x4a6d65
mov dword [ebp - 0x258], ebx
cmp dword [ebp + 0xc], 3
jne 0x4a6de7
mov eax, dword [esi + 4]
mov dword [ebp - 0x248], eax
mov eax, dword [eax]
mov esi, dword [eax + 0xc4]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x248]
call esi
test eax, eax
je 0x4a6de7
mov eax, dword [ebp - 0x248]
push ebx
mov eax, dword [eax]
mov esi, dword [eax + 0x130]
mov ecx, esi
call dword [0x4d8248]
mov ecx, dword [ebp - 0x248]
call esi
cmp eax, 0xa
jne 0x4a6de7
mov ecx, dword [ebp - 0x258]
call fcn.004c9eac
push ebx
push 1
push 3
push 2
pop edx
lea ecx, [ebp - 0x26c]
mov esi, eax
call fcn.00460897
mov ecx, dword [ebp - 0x26c]
mov edx, esi
call fcn.004c9cf3
mov dword [ebp - 0x258], eax
push 0x28
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6e10
push ebx
push dword [ebp - 0x258]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a6e12
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
mov esi, dword [ebp - 0x254]
lea eax, [ebp - 0x25c]
push eax
lea ecx, [ebp - 0x268]
call fcn.0044fa42
test eax, eax
je 0x4a6d01
jmp 0x4a6e75
mov dword [ebp - 0x248], ebx
push 0x28
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6e6b
push ebx
push dword [ebp - 0x248]
mov ecx, esi
push 0x24
call fcn.00442e46
mov dword [esi], 0x40a358
mov dword [esi + 0x24], ebx
jmp 0x4a6e6d
mov esi, ebx
push esi
mov ecx, edi
call fcn.004c6742
lea ecx, [ebp - 0x268]
call fcn.0045e425
mov ecx, dword [ebp - 0x254]
mov eax, dword [ecx + 0x7c]
test eax, eax
je 0x4a6f91
test dword [ecx + 0x60], 0x400000
jne 0x4a6f91
test dword [ecx + 0x60], 0x8000
je 0x4a6f52
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x4d8248]
mov ecx, edi
call esi
cmp eax, 0x2e
je 0x4a6eee
mov eax, dword [ebp - 0x254]
mov eax, dword [eax + 0x7c]
mov edi, dword [eax + 4]
mov eax, dword [edi]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x4d8248]
mov ecx, edi
call esi
mov ecx, eax
call fcn.0046245f
cmp byte [eax + 0x10], 0x23
je 0x4a6f12
mov edi, dword [ebp - 0x254]
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [0x4d8248]
mov ecx, edi
call esi
cmp eax, 9
je 0x4a6f12
mov edi, dword [ebp - 0x24c]
jmp 0x4a6f91
push 0x24
pop ecx
call fcn.004cc0e2
mov edi, eax
test edi, edi
je 0x4a6f8f
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6f3a
push 0x42d270
mov ecx, eax
call fcn.004429f6
mov ebx, eax
push dword [ebp - 0x24c]
mov ecx, edi
push ebx
push 0x2a
call fcn.00442e46
mov dword [edi], fcn.004c8c40
jmp 0x4a6f91
push 0x24
pop ecx
call fcn.004cc0e2
mov esi, eax
test esi, esi
je 0x4a6f8f
push 0x20
pop ecx
call fcn.004cc0e2
test eax, eax
je 0x4a6f7a
push 0x42d270
mov ecx, eax
call fcn.004429f6
mov ebx, eax
push edi
push ebx
push 0x2a
mov ecx, esi
call fcn.00442e46
mov dword [esi], fcn.004c8c40
mov edi, esi
jmp 0x4a6f91
mov edi, ebx
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004cc790
leave
ret 8
push 0x42d628
mov edx, 0xc69
mov ecx, 0x432de8
call fcn.004ca0da
int3