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

Disassembly:
push 0xffffffffffffffff
push 0x6ad99e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1e8
mov eax, dword [esp + 0x1fc]
push ebx
push ebp
push eax
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x204]
push ecx
lea edx, [esp + 0xf4]
push 0x6be1d4
push edx
call fcn.005cd489
lea eax, [esp + 0xfc]
push 0x6bc484
push eax
call fcn.0040d2e0
mov ebp, eax
xor ebx, ebx
add esp, 0x18
xor eax, eax
cmp ebp, ebx
mov dword [esp + 0x14], ebp
je 0x461a80
push esi
push edi
mov ecx, 0x10
lea edi, [esp + 0x74]
rep stosd dword es:[edi], eax
mov ecx, 0x10
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
mov ecx, 0xa
mov esi, 0x6bfe18
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
push ebp
push 0x28
lea ecx, [esp + 0x7c]
push 1
push ecx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
movsb byte es:[edi], byte [esi]
call fcn.0040d020
push ebp
push 1
lea edx, [esp + 0x38]
push 4
push edx
call fcn.0040d020
push ebp
push 1
lea eax, [esp + 0x54]
push 8
push eax
call fcn.0040d020
push ebp
push 0xc
lea ecx, [esp + 0xec]
push 1
push ecx
call fcn.0040d020
add esp, 0x40
lea esi, [esp + 0x34]
lea eax, [esp + 0x74]
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x461974
test cl, cl
je 0x461970
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x461974
add eax, 2
add esi, 2
test cl, cl
jne 0x461950
xor eax, eax
jmp 0x461979
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x46198f
push ebx
push ebx
push ebp
call fcn.0040cf80
add esp, 0xc
xor eax, eax
jmp 0x461a7e
mov eax, dword [0x719e80]
cmp eax, ebx
je 0x46212f
mov esi, dword [eax + 0x28]
sub esi, 0x40
lea eax, [esi + 0xf]
shr eax, 4
shl eax, 4
push eax
mov dword [esp + 0x2c], eax
call fcn.005cde20
mov ecx, dword [esp + 0x2c]
mov ebx, eax
mov edx, ecx
shr ecx, 2
xor eax, eax
mov edi, ebx
rep stosd dword es:[edi], eax
push ebp
push esi
mov ecx, edx
and ecx, 3
push 1
push ebx
mov dword [esp + 0x38], ebx
rep stosb byte es:[edi], al
call fcn.0040d020
push 0
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.005c1320
add esp, 0x20
test al, al
jne 0x461a0d
push ebp
call fcn.005a26c0
add esp, 4
test ebx, ebx
je 0x46212f
push ebx
call fcn.005cdc59
add esp, 4
xor eax, eax
jmp 0x461a7e
mov ecx, dword [esp + 0x2c]
push ecx
push ebx
call fcn.005c1270
mov ecx, dword [esp + 0x28]
add esp, 8
cmp eax, ecx
jne 0x46212f
mov eax, dword [esp + 0x10]
mov edx, dword [ebx]
mov dword [eax + 0x1c], edx
mov esi, eax
movzx ecx, word [esi + 0x1c]
lea edx, [ecx*4 + 4]
push edx
lea ebp, [ebx + 4]
call fcn.005cde20
add esp, 4
test eax, eax
mov dword [esi + 0x18], eax
jne 0x461a5a
mov eax, dword [esp + 0x1c]
push eax
jmp 0x462121
xor edi, edi
cmp word [esi + 0x1c], di
mov dword [esp + 0x18], edi
ja 0x461aa0
push ebx
call fcn.005cdc59
mov eax, dword [esp + 0x20]
push eax
call fcn.005a26c0
add esp, 8
mov eax, 1
pop edi
pop esi
mov ecx, dword [esp + 0x1f0]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1f4
ret 8
mov esi, dword [esp + 0x10]
lea ecx, [ecx]
push 0x4cc
call fcn.005cde20
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
mov dword [esp + 0x200], 0
je 0x461ae8
push 0x460ba0
push 0x460b80
push 9
lea esi, [eax + 4]
push 0x88
push esi
mov dword [eax], 9
call fcn.005ce6bb
mov eax, esi
mov esi, dword [esp + 0x10]
jmp 0x461aea
xor eax, eax
mov ecx, dword [esi + 0x18]
mov dword [ecx + edi*4], eax
mov edx, dword [esi + 0x18]
cmp dword [edx + edi*4], 0
mov dword [esp + 0x200], 0xffffffff
je 0x46211c
xor ebx, ebx
lea ebx, [ebx]
mov esi, dword [ebp]
add ebp, 4
test esi, esi
mov dword [esp + 0x14], esi
je 0x461b59
push esi
call fcn.005cde20
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + edi*4]
mov dword [ecx + ebx + 4], eax
mov eax, dword [edx + 0x18]
mov eax, dword [eax + edi*4]
mov edi, dword [eax + ebx + 4]
mov ecx, esi
mov eax, ecx
shr ecx, 2
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add esp, 4
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
add ebp, eax
jmp 0x461b5d
mov edx, dword [esp + 0x10]
mov esi, dword [ebp]
add ebp, 4
test esi, esi
mov dword [esp + 0x14], esi
je 0x461bb0
push esi
call fcn.005cde20
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 0x18]
mov ecx, dword [ecx + edi*4]
mov dword [ecx + ebx + 0x84], eax
mov edx, dword [edx + 0x18]
mov eax, dword [edx + edi*4]
mov edi, dword [eax + ebx + 0x84]
mov ecx, esi
mov edx, ecx
shr ecx, 2
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
mov eax, edx
mov edx, dword [esp + 0x14]
add esp, 4
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
add ebp, eax
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
mov al, byte [ebp]
mov byte [ecx + ebx + 2], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
mov cx, word [ebp + 1]
mov word [eax + ebx + 8], cx
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov al, byte [ebp + 2]
mov byte [ecx + ebx + 0xa], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 1]
mov word [eax + ebx + 0xc], cx
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov ax, word [ebp + 2]
mov word [ecx + ebx + 0xe], ax
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 2]
mov word [eax + ebx + 0x10], cx
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
add ebp, 2
mov al, byte [ebp + 2]
mov byte [ecx + ebx + 0x12], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
add ebp, 2
mov cl, byte [ebp + 1]
mov byte [eax + ebx + 0x13], cl
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov al, byte [ebp + 1]
mov byte [ecx + ebx + 0x14], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [eax + ebx + 0x15], cl
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov al, byte [ebp + 1]
mov byte [ecx + ebx + 0x16], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [eax + ebx + 0x17], cl
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov al, byte [ebp + 1]
mov byte [ecx + ebx + 0x18], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [eax + ebx + 0x19], cl
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov al, byte [ebp + 1]
inc ebp
mov byte [ecx + ebx + 0x1a], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
mov cl, byte [ebp + 1]
inc ebp
mov byte [eax + ebx + 0x1b], cl
mov eax, dword [edx + 0x18]
inc ebp
mov ecx, dword [eax + edi*4]
mov al, byte [ebp]
mov byte [ecx + ebx + 0x1c], al
mov ecx, dword [edx + 0x18]
mov eax, dword [ecx + edi*4]
mov cl, byte [ebp + 1]
mov byte [eax + ebx + 0x1d], cl
mov eax, dword [edx + 0x18]
mov ecx, dword [eax + edi*4]
inc ebp
mov ax, word [ebp + 1]
mov word [ecx + ebx + 0x1e], ax
mov ecx, dword [edx + 0x18]
mov edx, dword [ecx + edi*4]
movzx eax, word [edx + ebx + 0x1e]
lea ecx, [edx + ebx + 0x1e]
inc ebp
cdq
mov esi, 0x3e8
idiv esi
mov eax, dword [esp + 0x10]
add ebp, 2
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
inc ebp
mov word [ecx], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 0xb]
mov byte [edx + ebx + 0x20], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp - 0xa]
mov byte [ecx + ebx + 0x21], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 9]
mov byte [edx + ebx + 0x22], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp - 8]
mov byte [ecx + ebx + 0x23], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 7]
mov byte [edx + ebx + 0x24], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp - 6]
mov byte [ecx + ebx + 0x25], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 5]
mov byte [edx + ebx + 0x26], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp - 4]
mov byte [ecx + ebx + 0x27], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 3]
mov byte [edx + ebx + 0x28], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp - 2]
mov byte [ecx + ebx + 0x29], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp - 1]
mov byte [edx + ebx + 0x2a], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp]
mov byte [ecx + ebx + 0x2b], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x2c], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x2d], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x2e], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x2f], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cx, word [ebp + 1]
mov word [edx + ebx + 0x30], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x32], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cl, byte [ebp + 2]
mov byte [edx + ebx + 0x34], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 1]
mov word [ecx + ebx + 0x36], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 2]
mov byte [edx + ebx + 0x38], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x39], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x3a], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dx, word [ebp + 1]
mov word [ecx + ebx + 0x3c], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cx, word [ebp + 2]
mov word [edx + ebx + 0x3e], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dl, byte [ebp + 2]
mov byte [ecx + ebx + 0x40], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cl, byte [ebp + 1]
inc ebp
mov byte [edx + ebx + 0x41], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp + 1]
inc ebp
mov byte [ecx + ebx + 0x42], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x43], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x44], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cx, word [ebp + 1]
mov word [edx + ebx + 0x46], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 2]
mov byte [ecx + ebx + 0x48], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x49], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x4a], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
mov byte [edx + ebx + 0x4b], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dx, word [ebp + 1]
mov word [ecx + ebx + 0x4c], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 2]
mov byte [edx + ebx + 0x4e], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 1]
mov word [ecx + ebx + 0x50], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cx, word [ebp + 2]
mov word [edx + ebx + 0x52], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x54], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cl, byte [ebp + 2]
mov byte [edx + ebx + 0x56], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 1]
inc ebp
mov word [ecx + ebx + 0x58], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cx, word [ebp + 2]
add ebp, 2
mov word [edx + ebx + 0x5a], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dx, word [ebp + 2]
add ebp, 2
mov word [ecx + ebx + 0x5c], dx
add ebp, 2
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
mov cx, word [ebp]
mov word [edx + ebx + 0x5e], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x60], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 2]
mov word [edx + ebx + 0x62], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dl, byte [ebp + 2]
mov byte [ecx + ebx + 0x64], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 1]
mov word [edx + ebx + 0x66], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 2]
mov byte [ecx + ebx + 0x68], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 1]
mov word [edx + ebx + 0x6a], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dl, byte [ebp + 2]
mov byte [ecx + ebx + 0x6c], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 1]
mov word [edx + ebx + 0x6e], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
inc ebp
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x70], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 2]
mov word [edx + ebx + 0x72], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x74], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 2]
mov word [edx + ebx + 0x76], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
add ebp, 2
mov dx, word [ebp + 2]
mov word [ecx + ebx + 0x78], dx
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
add ebp, 2
mov cx, word [ebp + 2]
add ebp, 2
mov word [edx + ebx + 0x7a], cx
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp + 2]
add ebp, 2
mov byte [ecx + ebx + 0x7c], dl
mov ecx, dword [eax + 0x18]
inc ebp
mov edx, dword [ecx + edi*4]
mov cl, byte [ebp]
mov byte [edx + ebx + 0x7d], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dl, byte [ebp + 1]
mov byte [ecx + ebx + 0x7e], dl
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + edi*4]
inc ebp
mov cl, byte [ebp + 1]
inc ebp
mov byte [edx + ebx + 0x7f], cl
mov edx, dword [eax + 0x18]
mov ecx, dword [edx + edi*4]
mov dx, word [ebp + 1]
inc ebp
mov word [ecx + ebx + 0x80], dx
mov eax, dword [eax + 0x18]
mov dx, word [ebp + 2]
mov ecx, dword [eax + edi*4]
add ebp, 2
mov word [ecx + ebx + 0x82], dx
add ebx, 0x88
add ebp, 2
cmp ebx, 0x4c8
jl 0x461b10
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x1c]
mov ebx, dword [esp + 0x24]
inc edi
cmp edi, ecx
mov dword [esp + 0x18], edi
jl 0x461a99
jmp 0x461a66
mov edx, dword [esp + 0x1c]
push edx
call fcn.005a26c0
push ebx
call fcn.005cdc59
add esp, 8
xor eax, eax
jmp 0x461a7e