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

Disassembly:
sub esp, 0x1e0
mov eax, dword [0x5fe940]
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x1e8], eax
mov eax, dword [esi + 0xa034]
mov eax, dword [eax + 4]
mov ebp, dword [eax + 7]
mov bl, byte [eax + 6]
push edi
push ebp
push 0
lea ecx, [esp + 0xf4]
push str.type____d__cnt____d
push ecx
mov dword [esp + 0x4c], esi
mov byte [esp + 0x23], bl
mov dword [esp + 0x58], ebp
call fcn.0059000d
xor eax, eax
add esp, 0x10
test ebp, ebp
mov dword [esp + 0x38], eax
mov edi, 0xb
jbe 0x4a2951
movzx edx, bl
mov dword [esp + 0xd0], edx
jmp 0x4a2000
mov esi, dword [esp + 0x3c]
mov edi, edi
push eax
lea eax, [esp + 0xf0]
push str.loop____d
push eax
call fcn.0059000d
mov ecx, dword [esi + 0xa034]
mov eax, dword [ecx + 4]
mov ebp, dword [eax + edi]
mov ebx, dword [eax + edi + 4]
add edi, 4
mov eax, dword [eax + edi + 4]
add edi, 4
push eax
push ebx
push ebp
lea edx, [esp + 0x104]
push str.slot____d__index____d_limit___d
push edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x50], eax
add edi, 4
call fcn.0059000d
mov esi, dword [0x6508a4]
mov eax, ebx
imul eax, eax, 0x4ac
lea ecx, [eax + esi + 0x14]
mov dword [esp + 0x4c], ecx
mov edx, ecx
mov dl, byte [edx]
lea ecx, [eax + esi + 0x1c]
mov dword [esp + 0x54], ecx
mov cl, byte [ecx]
xor dl, cl
mov byte [esp + 0x3c], dl
mov dl, byte [eax + esi + 0x15]
xor dl, cl
mov byte [esp + 0x3d], dl
mov dl, byte [eax + esi + 0x16]
xor dl, cl
mov byte [esp + 0x3e], dl
mov dl, byte [eax + esi + 0x17]
xor dl, cl
mov cl, byte [eax + esi + 0x1d]
mov byte [esp + 0x3f], dl
mov dl, byte [eax + esi + 0x18]
xor dl, cl
mov byte [esp + 0x44], dl
mov dl, byte [eax + esi + 0x19]
xor dl, cl
mov byte [esp + 0x45], dl
mov dl, byte [eax + esi + 0x1a]
xor dl, cl
mov byte [esp + 0x46], dl
mov dl, byte [eax + esi + 0x1b]
xor dl, cl
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x47], dl
mov edx, dword [esp + 0x44]
add esp, 0x20
cmp ecx, edx
je 0x4a20da
mov dword [0], 1
mov edx, dword [esp + 0x2c]
mov cl, byte [edx]
mov edx, dword [esp + 0x34]
xor cl, byte [edx]
mov edx, dword [esp + 0xd0]
cmp edx, 3
mov byte [esp + 0xa0], cl
ja case.default.0x4a20f9
jmp dword [edx*4 + 0x4a2970]
mov edx, dword [esp + 0x1f4]
jmp 0x4a2122
mov edx, dword [esp + 0x1f8]
jmp 0x4a2122
mov edx, dword [esp + 0x1fc]
jmp 0x4a2122
mov edx, dword [esp + 0x200]
mov dword [esp + 0x20], edx
movzx ecx, cl
dec ecx
jne 0x4a21d2
mov ecx, dword [esp + 0x3c]
mov edx, dword [ecx + 0xa034]
mov ecx, dword [edx + 4]
fld dword [ecx + edi]
add edi, 4
fstp dword [esp + 0x58]
add edi, 4
fld dword [ecx + edi - 4]
add edi, 4
fstp dword [esp + 0xdc]
add edi, 4
fld dword [ecx + edi - 8]
add edi, 4
fstp dword [esp + 0x64]
add edi, 4
fld dword [ecx + edi - 0xc]
add edi, 4
fstp dword [esp + 0xac]
add edi, 4
fld dword [ecx + edi - 0x10]
add edi, 4
fstp dword [esp + 0x70]
add edi, 4
fld dword [ecx + edi - 0x14]
add edi, 4
fstp dword [esp + 0x40]
add edi, 4
fld dword [ecx + edi - 0x18]
fstp dword [esp + 0x7c]
fld dword [ecx + edi - 0x14]
fstp dword [esp + 0xb8]
fld dword [ecx + edi - 0x10]
fstp dword [esp + 0x88]
fld dword [ecx + edi - 0xc]
fstp dword [esp + 0xe0]
fld dword [ecx + edi - 8]
fstp dword [esp + 0x94]
fld dword [ecx + edi - 4]
fstp dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
imul ebp, ebp, 0x110
mov dl, byte [ecx + ebp + 0xc]
lea esi, [ecx + ebp]
xor dl, bl
mov byte [esi + 4], dl
mov cl, byte [esi + 0xd]
xor cl, bl
mov byte [esi + 8], cl
mov dl, byte [esi + 0xc]
xor dl, bh
mov byte [esi + 5], dl
mov cl, byte [esi + 0xd]
xor cl, bh
mov byte [esi + 9], cl
mov dl, byte [esi + 0xc]
mov cl, byte [esp + 0x2a]
xor dl, cl
mov byte [esi + 6], dl
mov dl, byte [esi + 0xd]
xor dl, cl
mov cl, byte [esp + 0x2b]
mov byte [esi + 0xa], dl
mov dl, byte [esi + 0xc]
xor dl, cl
mov byte [esi + 7], dl
mov dl, byte [esi + 0xd]
xor dl, cl
mov byte [esi + 0xb], dl
mov ebp, dword [0x6508a4]
mov bl, byte [eax + ebp + 0x18c]
lea ecx, [eax + ebp + 0x194]
lea edx, [eax + ebp + 0x18c]
mov dword [esp + 0x34], ecx
mov cl, byte [ecx]
xor bl, cl
mov byte [esp + 0x18], bl
lea ebx, [eax + ebp + 0x18d]
mov dword [esp + 0x28], ebx
mov bl, byte [ebx]
xor bl, cl
mov byte [esp + 0x19], bl
lea ebx, [eax + ebp + 0x18e]
mov dword [esp + 0x2c], ebx
mov bl, byte [ebx]
xor bl, cl
mov byte [esp + 0x1a], bl
lea ebx, [eax + ebp + 0x18f]
mov dword [esp + 0xc4], ebx
mov bl, byte [ebx]
xor bl, cl
mov cl, byte [eax + ebp + 0x195]
mov byte [esp + 0x1b], bl
mov bl, byte [eax + ebp + 0x190]
xor bl, cl
mov byte [esp + 0x14], bl
mov bl, byte [eax + ebp + 0x191]
xor bl, cl
mov byte [esp + 0x15], bl
mov bl, byte [eax + ebp + 0x192]
mov al, byte [eax + ebp + 0x193]
xor al, cl
xor bl, cl
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x16], bl
mov byte [esp + 0x17], al
cmp ecx, dword [esp + 0x14]
je 0x4a22da
mov dword [0], 1
mov cl, byte [edx]
mov eax, dword [esp + 0x34]
mov al, byte [eax]
mov ebx, dword [esp + 0x2c]
mov bl, byte [ebx]
mov edx, dword [esp + 0x28]
mov dl, byte [edx]
xor cl, al
xor dl, al
xor bl, al
mov byte [esp + 0x4e], bl
mov ebx, dword [esp + 0xc4]
mov bl, byte [ebx]
xor bl, al
mov al, byte [esi + 0x1c]
xor al, cl
mov byte [esi + 0x14], al
mov al, byte [esi + 0x1d]
xor al, cl
mov byte [esi + 0x18], al
mov cl, byte [esi + 0x1c]
xor cl, dl
mov byte [esi + 0x15], cl
mov al, byte [esi + 0x1d]
xor al, dl
mov byte [esi + 0x19], al
mov cl, byte [esi + 0x1c]
mov al, byte [esp + 0x4e]
xor cl, al
mov byte [esi + 0x16], cl
mov dl, byte [esi + 0x1d]
xor dl, al
mov byte [esi + 0x1a], dl
mov al, byte [esi + 0x1c]
xor al, bl
mov byte [esi + 0x17], al
mov cl, byte [esi + 0x1d]
mov eax, dword [esp + 0x30]
xor cl, bl
mov byte [esi + 0x1b], cl
mov dl, byte [esi + 0x2c]
xor dl, al
mov byte [esi + 0x24], dl
mov cl, byte [esi + 0x2d]
xor cl, al
mov al, byte [esp + 0x32]
mov byte [esi + 0x28], cl
mov dl, byte [esi + 0x2c]
xor dl, ah
mov byte [esi + 0x25], dl
mov cl, byte [esi + 0x2d]
xor cl, ah
mov byte [esi + 0x29], cl
mov dl, byte [esi + 0x2c]
xor dl, al
mov byte [esi + 0x26], dl
mov cl, byte [esi + 0x2d]
xor cl, al
mov al, byte [esp + 0x33]
mov byte [esi + 0x2a], cl
mov dl, byte [esi + 0x2c]
xor dl, al
mov byte [esi + 0x27], dl
mov cl, byte [esi + 0x2d]
xor cl, al
mov byte [esi + 0x2b], cl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov edx, eax
mov eax, 0x45e7b273
mul edx
mov al, byte [esi + 0x3c]
shr edx, 0xe
xor al, dl
mov byte [esi + 0x34], al
mov cl, byte [esi + 0x3d]
xor cl, dl
mov byte [esi + 0x38], cl
mov al, byte [esi + 0x3c]
xor al, dh
mov dword [esp + 0xe4], edx
mov byte [esi + 0x35], al
mov cl, byte [esi + 0x3d]
mov eax, dword [esp + 0xe4]
xor cl, dh
mov byte [esi + 0x39], cl
mov dl, byte [esi + 0x3c]
shr eax, 0x10
xor dl, al
mov byte [esi + 0x36], dl
mov cl, byte [esi + 0x3d]
xor cl, al
mov al, byte [esp + 0xa0]
mov byte [esi + 0x3a], cl
mov dl, byte [esi + 0x3c]
xor dl, ah
mov byte [esi + 0x37], dl
mov cl, byte [esi + 0x3d]
xor cl, ah
cmp al, 1
mov byte [esi + 0x3b], cl
jne 0x4a2935
mov cl, byte [esi + 0xfc]
mov edx, dword [esp + 0x58]
mov eax, edx
xor cl, al
mov byte [esi + 0xf4], cl
mov dword [esp + 0x50], edx
mov dl, byte [esi + 0xfd]
xor dl, al
mov byte [esi + 0xf8], dl
mov cl, byte [esi + 0xfc]
xor cl, ah
mov byte [esi + 0xf5], cl
mov dl, byte [esi + 0xfd]
xor dl, ah
mov byte [esi + 0xf9], dl
mov cl, byte [esi + 0xfc]
shr eax, 0x10
xor cl, al
mov byte [esi + 0xf6], cl
mov dl, byte [esi + 0xfd]
xor dl, al
mov byte [esi + 0xfa], dl
mov cl, byte [esi + 0xfc]
xor cl, ah
mov byte [esi + 0xf7], cl
mov dl, byte [esi + 0xfd]
xor dl, ah
mov byte [esi + 0xfb], dl
mov cl, byte [esi + 0x10c]
mov eax, dword [esp + 0xdc]
xor cl, al
mov byte [esi + 0x104], cl
mov dl, byte [esi + 0x10d]
xor dl, al
mov byte [esi + 0x108], dl
mov cl, byte [esi + 0x10c]
xor cl, ah
mov byte [esi + 0x105], cl
mov dl, byte [esi + 0x10d]
xor dl, ah
mov byte [esi + 0x109], dl
mov cl, byte [esi + 0x10c]
mov dword [esp + 0x5c], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x106], cl
mov dl, byte [esi + 0x10d]
xor dl, al
mov byte [esi + 0x10a], dl
mov cl, byte [esi + 0x10c]
xor cl, ah
mov byte [esi + 0x107], cl
mov dl, byte [esi + 0x10d]
xor dl, ah
mov eax, dword [esp + 0x64]
mov byte [esi + 0x10b], dl
mov cl, byte [esi + 0x4c]
xor cl, al
mov byte [esi + 0x44], cl
mov dl, byte [esi + 0x4d]
xor dl, al
mov byte [esi + 0x48], dl
mov cl, byte [esi + 0x4c]
xor cl, ah
mov byte [esi + 0x45], cl
mov dl, byte [esi + 0x4d]
xor dl, ah
mov byte [esi + 0x49], dl
mov cl, byte [esi + 0x4c]
mov dword [esp + 0x68], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x46], cl
mov dl, byte [esi + 0x4d]
xor dl, al
mov byte [esi + 0x4a], dl
mov cl, byte [esi + 0x4c]
xor cl, ah
mov byte [esi + 0x47], cl
mov dl, byte [esi + 0x4d]
xor dl, ah
mov byte [esi + 0x4b], dl
mov cl, byte [esi + 0x5c]
mov eax, dword [esp + 0xac]
xor cl, al
mov byte [esi + 0x54], cl
mov dl, byte [esi + 0x5d]
xor dl, al
mov byte [esi + 0x58], dl
mov cl, byte [esi + 0x5c]
xor cl, ah
mov byte [esi + 0x55], cl
mov dl, byte [esi + 0x5d]
xor dl, ah
mov byte [esi + 0x59], dl
mov cl, byte [esi + 0x5c]
mov dword [esp + 0x74], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x56], cl
mov dl, byte [esi + 0x5d]
xor dl, al
mov byte [esi + 0x5a], dl
mov cl, byte [esi + 0x5c]
xor cl, ah
mov byte [esi + 0x57], cl
mov dl, byte [esi + 0x5d]
xor dl, ah
mov byte [esi + 0x5b], dl
mov cl, byte [esi + 0x6c]
mov eax, dword [esp + 0x70]
xor cl, al
mov byte [esi + 0x64], cl
mov dl, byte [esi + 0x6d]
xor dl, al
mov byte [esi + 0x68], dl
mov cl, byte [esi + 0x6c]
xor cl, ah
mov byte [esi + 0x65], cl
mov dl, byte [esi + 0x6d]
xor dl, ah
mov byte [esi + 0x69], dl
mov cl, byte [esi + 0x6c]
mov dword [esp + 0x80], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x66], cl
mov dl, byte [esi + 0x6d]
xor dl, al
mov byte [esi + 0x6a], dl
mov cl, byte [esi + 0x6c]
xor cl, ah
mov byte [esi + 0x67], cl
mov dl, byte [esi + 0x6d]
xor dl, ah
mov eax, dword [esp + 0x40]
mov byte [esi + 0x6b], dl
mov cl, byte [esi + 0x7c]
xor cl, al
mov byte [esi + 0x74], cl
mov dl, byte [esi + 0x7d]
xor dl, al
mov byte [esi + 0x78], dl
mov cl, byte [esi + 0x7c]
xor cl, ah
mov byte [esi + 0x75], cl
mov dl, byte [esi + 0x7d]
xor dl, ah
mov byte [esi + 0x79], dl
mov cl, byte [esi + 0x7c]
mov dword [esp + 0x8c], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x76], cl
mov dl, byte [esi + 0x7d]
xor dl, al
mov byte [esi + 0x7a], dl
mov cl, byte [esi + 0x7c]
xor cl, ah
mov byte [esi + 0x77], cl
mov dl, byte [esi + 0x7d]
xor dl, ah
mov byte [esi + 0x7b], dl
mov cl, byte [esi + 0x8c]
mov eax, dword [esp + 0x7c]
xor cl, al
mov byte [esi + 0x84], cl
mov dl, byte [esi + 0x8d]
xor dl, al
mov byte [esi + 0x88], dl
mov cl, byte [esi + 0x8c]
xor cl, ah
mov byte [esi + 0x85], cl
mov dl, byte [esi + 0x8d]
xor dl, ah
mov byte [esi + 0x89], dl
mov cl, byte [esi + 0x8c]
mov dword [esp + 0x98], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x86], cl
mov dl, byte [esi + 0x8d]
xor dl, al
mov byte [esi + 0x8a], dl
mov cl, byte [esi + 0x8c]
xor cl, ah
mov byte [esi + 0x87], cl
mov dl, byte [esi + 0x8d]
xor dl, ah
mov byte [esi + 0x8b], dl
mov cl, byte [esi + 0x9c]
mov eax, dword [esp + 0xb8]
xor cl, al
mov byte [esi + 0x94], cl
mov dl, byte [esi + 0x9d]
xor dl, al
mov byte [esi + 0x98], dl
mov cl, byte [esi + 0x9c]
xor cl, ah
mov byte [esi + 0x95], cl
mov dl, byte [esi + 0x9d]
xor dl, ah
mov byte [esi + 0x99], dl
mov cl, byte [esi + 0x9c]
mov dword [esp + 0xa4], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0x96], cl
mov dl, byte [esi + 0x9d]
xor dl, al
mov byte [esi + 0x9a], dl
mov cl, byte [esi + 0x9c]
xor cl, ah
mov byte [esi + 0x97], cl
mov dl, byte [esi + 0x9d]
xor dl, ah
mov eax, dword [esp + 0x88]
mov byte [esi + 0x9b], dl
mov cl, byte [esi + 0xac]
xor cl, al
mov byte [esi + 0xa4], cl
mov dl, byte [esi + 0xad]
xor dl, al
mov byte [esi + 0xa8], dl
mov cl, byte [esi + 0xac]
xor cl, ah
mov byte [esi + 0xa5], cl
mov dl, byte [esi + 0xad]
xor dl, ah
mov byte [esi + 0xa9], dl
mov cl, byte [esi + 0xac]
mov dword [esp + 0xb0], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0xa6], cl
mov dl, byte [esi + 0xad]
xor dl, al
mov byte [esi + 0xaa], dl
mov cl, byte [esi + 0xac]
xor cl, ah
mov byte [esi + 0xa7], cl
mov dl, byte [esi + 0xad]
xor dl, ah
mov byte [esi + 0xab], dl
mov cl, byte [esi + 0xbc]
mov eax, dword [esp + 0xe0]
xor cl, al
mov byte [esi + 0xb4], cl
mov dl, byte [esi + 0xbd]
xor dl, al
mov byte [esi + 0xb8], dl
mov cl, byte [esi + 0xbc]
xor cl, ah
mov byte [esi + 0xb5], cl
mov dl, byte [esi + 0xbd]
xor dl, ah
mov byte [esi + 0xb9], dl
mov cl, byte [esi + 0xbc]
mov dword [esp + 0xbc], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0xb6], cl
mov dl, byte [esi + 0xbd]
xor dl, al
mov byte [esi + 0xba], dl
mov cl, byte [esi + 0xbc]
xor cl, ah
mov byte [esi + 0xb7], cl
mov dl, byte [esi + 0xbd]
xor dl, ah
mov byte [esi + 0xbb], dl
mov cl, byte [esi + 0xcc]
mov eax, dword [esp + 0x94]
xor cl, al
mov byte [esi + 0xc4], cl
mov dl, byte [esi + 0xcd]
xor dl, al
mov byte [esi + 0xc8], dl
mov cl, byte [esi + 0xcc]
xor cl, ah
mov byte [esi + 0xc5], cl
mov dl, byte [esi + 0xcd]
xor dl, ah
mov byte [esi + 0xc9], dl
mov cl, byte [esi + 0xcc]
mov dword [esp + 0xc8], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0xc6], cl
mov dl, byte [esi + 0xcd]
xor dl, al
mov byte [esi + 0xca], dl
mov cl, byte [esi + 0xcc]
xor cl, ah
mov byte [esi + 0xc7], cl
mov dl, byte [esi + 0xcd]
xor dl, ah
mov eax, dword [esp + 0x44]
mov byte [esi + 0xcb], dl
mov cl, byte [esi + 0xdc]
xor cl, al
mov byte [esi + 0xd4], cl
mov dl, byte [esi + 0xdd]
xor dl, al
mov byte [esi + 0xd8], dl
mov cl, byte [esi + 0xdc]
xor cl, ah
mov byte [esi + 0xd5], cl
mov dl, byte [esi + 0xdd]
xor dl, ah
mov byte [esi + 0xd9], dl
mov cl, byte [esi + 0xdc]
mov dword [esp + 0xd4], eax
shr eax, 0x10
xor cl, al
mov byte [esi + 0xd6], cl
mov dl, byte [esi + 0xdd]
xor dl, al
mov byte [esi + 0xda], dl
mov cl, byte [esi + 0xdc]
xor cl, ah
mov byte [esi + 0xd7], cl
mov dl, byte [esi + 0xdd]
xor dl, ah
mov byte [esi + 0xdb], dl
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jb 0x4a1ffa
movzx eax, byte [esp + 0x13]
jmp 0x4a2954
movzx eax, bl
mov ecx, dword [esp + 0x1ec]
pop edi
pop esi
pop ebp
pop ebx
call fcn.005900c7
add esp, 0x1e0
ret 0x10