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

Disassembly:
push ecx
mov eax, dword [esp + 0x18]
push ebx
push edi
mov edi, dword [eax]
mov dword [esp + 8], edi
call fcn.0042b680
mov ebx, eax
test ebx, ebx
jne 0x457b4f
pop edi
lea eax, [ebx + 2]
pop ebx
pop ecx
mov ecx, dword [esp + 0x14]
push ebp
push esi
push 0x200
push 0
push ecx
call fcn.0046a470
mov esi, dword [sym.imp.KERNEL32.dll_VirtualLock]
add esp, 0xc
push 0x188
push 0x4df718
call esi
push 0x100
push 0x4df8a0
call esi
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
test esi, esi
jne 0x457bdc
mov eax, dword [esp + 0x24]
cmp eax, 2
jl 0x457bb2
cmp eax, 5
jg 0x457bb2
push ebp
call fcn.0042c140
add esp, 4
add eax, 0x20
mov byte [0], 0
jmp 0x457bbd
push ebp
call fcn.0042c140
add esp, 4
add eax, eax
push 1
push eax
push 0x4df7a0
call fcn.0044e640
add esp, 0xc
test eax, eax
jne 0x457bec
pop esi
pop ebp
pop edi
mov eax, 0x12
pop ebx
pop ecx
ret
mov ecx, 0x40
mov edi, 0x4df7a0
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push edi
add edx, 4
push edx
push 0x4df720
call fcn.0046b7c0
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
push eax
push esi
mov dword [0x4df71c], edi
call fcn.0044d730
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp dword [esp + 0x78], edx
mov dword [0x4df718], eax
sete dl
mov dword [ebx], ebp
mov dword [ebx + 4], ecx
push edx
push 0x40
push 0x4df760
call fcn.0044e640
add esp, 0x20
test eax, eax
je 0x457bd1
dec esi
cmp esi, 3
ja case.default.0x457c49
jmp dword [esi*4 + 0x4581d8]
call fcn.0042d9e0
mov ecx, dword [0x4df71c]
push eax
mov eax, dword [0x4df718]
push 0x4df8a0
push eax
push 0x40
push 0x4df760
push ecx
push 0x4df720
call fcn.0044c5e0
add esp, 0x1c
jmp 0x457d13
call fcn.0042d9e0
mov edx, dword [0x4df718]
push eax
mov eax, dword [0x4df71c]
push 0x4df8a0
push edx
push 0x40
push 0x4df760
push eax
push 0x4df720
call fcn.0044cb80
add esp, 0x1c
jmp 0x457d13
call fcn.0042d9e0
mov ecx, dword [0x4df718]
mov edx, dword [0x4df71c]
push eax
push 0x4df8a0
push ecx
push 0x40
push 0x4df760
push edx
push 0x4df720
call fcn.0044d020
add esp, 0x1c
jmp 0x457d13
call fcn.0042d9e0
mov ecx, dword [0x4df71c]
push eax
mov eax, dword [0x4df718]
push 0x4df8a0
push eax
push 0x40
push 0x4df760
push ecx
push 0x4df720
call fcn.0044d5c0
add esp, 0x1c
jmp 0x457d13
mov byte [0], 0
mov ebp, dword [esp + 0x1c]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x24]
add ebp, 0x40
mov ecx, 0x10
mov esi, 0x4df760
rep movsd dword es:[edi], dword [esi]
mov esi, ebp
mov byte [esi], 0x54
mov byte [esi + 1], 0x52
inc esi
inc esi
mov byte [esi], 0x55
inc esi
mov byte [esi], 0x45
inc esi
mov byte [esi], 0
inc esi
mov byte [esi], 5
add eax, 0xfffffffe
inc esi
mov edx, 5
mov dword [esp + 0x28], ebp
mov word [ebx + 0x29a4], dx
cmp eax, 3
ja case.default.0x457d61
jmp dword [eax*4 + 0x4581e8]
mov byte [esi], 4
inc esi
mov byte [esi], 0x10
jmp 0x457ddd
mov byte [esi], 3
inc esi
mov byte [esi], 0
jmp 0x457ddd
mov ecx, dword [esp + 0x44]
test ecx, ecx
ja 0x457d89
cmp dword [esp + 0x40], 0
jbe 0x457d90
mov eax, 0x300
jmp 0x457d95
mov eax, 0x100
sar eax, 8
mov byte [esi], al
inc esi
test ecx, ecx
ja 0x457da6
cmp dword [esp + 0x40], 0
jbe 0x457dad
mov eax, 0x300
jmp 0x457ddb
mov eax, 0x100
jmp 0x457ddb
mov ax, word [esp + 0x58]
movzx edi, ax
test ax, ax
jne 0x457dc6
mov edi, 0x700
mov ecx, edi
sar ecx, 8
mov byte [esi], cl
inc esi
test ax, ax
movzx eax, ax
jne 0x457ddb
mov eax, 0x700
mov byte [esi], al
push 0x100
push 0x4df7a0
inc esi
call fcn.0042b170
inc esi
mov edx, eax
sar edx, 0x18
mov byte [esi - 1], dl
inc esi
mov ecx, eax
sar ecx, 0x10
mov byte [esi - 1], cl
mov ecx, dword [esp + 0x4c]
inc esi
mov edx, eax
sar edx, 8
mov byte [esi - 1], dl
mov byte [esi], al
mov eax, dword [esp + 0x48]
mov dword [ebx + 0x4414], ecx
movzx edx, byte [ebx + 0x4417]
mov dword [ebx + 0x4410], eax
mov byte [esi + 0x11], dl
movzx eax, byte [ebx + 0x4416]
add esi, 0x11
mov byte [esi + 1], al
movzx ecx, byte [ebx + 0x4415]
inc esi
mov byte [esi + 1], cl
movzx edx, byte [ebx + 0x4414]
inc esi
mov byte [esi + 1], dl
movzx eax, byte [ebx + 0x4413]
inc esi
mov byte [esi + 1], al
movzx ecx, byte [ebx + 0x4412]
inc esi
mov byte [esi + 1], cl
movzx edx, byte [ebx + 0x4411]
inc esi
inc esi
mov byte [esi], dl
movzx eax, byte [ebx + 0x4410]
inc esi
mov byte [esi], al
mov ecx, dword [ebx + 0x4410]
add esp, 8
inc esi
or ecx, dword [ebx + 0x4414]
je 0x457e8f
mov eax, 1
jmp 0x457e91
xor eax, eax
mov ecx, dword [esp + 0x38]
mov dword [ebx + 0x29a0], eax
mov eax, dword [esp + 0x3c]
mov dword [ebx + 0x444c], eax
mov dword [ebx + 0x4448], ecx
inc esi
mov edx, eax
shr edx, 0x18
mov byte [esi - 1], dl
inc esi
mov edx, eax
shr edx, 0x10
mov byte [esi - 1], dl
inc esi
mov edx, eax
shr edx, 8
mov byte [esi - 1], dl
mov edx, eax
mov byte [esi], dl
inc esi
mov edi, eax
mov edx, ecx
shrd edx, edi, 0x18
mov byte [esi], dl
shr edi, 0x18
inc esi
mov edi, eax
mov edx, ecx
shrd edx, edi, 0x10
mov byte [esi], dl
inc esi
mov edx, ecx
shrd edx, eax, 8
mov byte [esi], dl
mov byte [esi + 1], cl
mov ecx, dword [esp + 0x48]
inc esi
shr eax, 8
mov eax, dword [esp + 0x4c]
inc esi
mov dword [ebx + 0x4454], eax
mov dword [ebx + 0x4450], ecx
mov edx, eax
shr edx, 0x18
mov byte [esi], dl
inc esi
mov edx, eax
shr edx, 0x10
mov byte [esi], dl
inc esi
mov edx, eax
shr edx, 8
mov byte [esi], dl
inc esi
shr edi, 0x10
mov edx, eax
mov byte [esi], dl
mov edi, eax
mov edx, ecx
shrd edx, edi, 0x18
mov byte [esi + 1], dl
inc esi
shr edi, 0x18
mov edi, eax
mov edx, ecx
shrd edx, edi, 0x10
mov byte [esi + 1], dl
inc esi
mov edx, ecx
shrd edx, eax, 8
inc esi
mov byte [esi], dl
inc esi
mov byte [esi], cl
mov ecx, dword [esp + 0x50]
shr eax, 8
mov eax, dword [esp + 0x54]
shr edi, 0x10
inc esi
mov dword [ebx + 0x4458], ecx
mov dword [ebx + 0x445c], eax
inc esi
mov edx, eax
shr edx, 0x18
mov byte [esi - 1], dl
inc esi
mov edx, eax
shr edx, 0x10
mov byte [esi - 1], dl
inc esi
mov edx, eax
shr edx, 8
mov byte [esi - 1], dl
mov edx, eax
mov byte [esi], dl
inc esi
mov edx, ecx
mov edi, eax
shrd edx, edi, 0x18
mov byte [esi], dl
shr edi, 0x18
mov edx, ecx
inc esi
mov edi, eax
shrd edx, edi, 0x10
mov byte [esi], dl
mov edx, ecx
shrd edx, eax, 8
mov byte [esi + 1], dl
inc esi
mov byte [esi + 1], cl
inc esi
shr eax, 8
mov eax, dword [esp + 0x5c]
inc esi
mov dword [ebx + 0x4460], eax
mov ecx, eax
shr ecx, 0x18
mov byte [esi], cl
inc esi
mov edx, eax
shr edx, 0x10
mov byte [esi], dl
inc esi
mov ecx, eax
shr ecx, 8
mov byte [esi], cl
inc esi
mov byte [esi], al
mov eax, dword [esp + 0x60]
lea edx, [eax - 0x200]
shr edi, 0x10
inc esi
cmp edx, 0xe00
ja 0x457ff4
test eax, 0x1ff
je 0x457ffb
mov byte [0], 0
mov dword [ebx + 0x4440], eax
mov ecx, eax
shr ecx, 0x18
mov byte [esi], cl
mov edx, eax
inc esi
shr edx, 0x10
mov byte [esi], dl
mov ecx, eax
inc esi
shr ecx, 8
push 0xbc
mov byte [esi], cl
push ebp
mov byte [esi + 1], al
call fcn.0042b170
mov esi, dword [esp + 0x24]
lea ecx, [esi + 0xfc]
mov edx, eax
sar edx, 0x18
mov byte [ecx], dl
inc ecx
mov edx, eax
sar edx, 0x10
mov byte [ecx], dl
inc ecx
mov edx, eax
sar edx, 8
mov byte [ecx], dl
mov byte [ecx + 1], al
mov eax, dword [esp + 0x2c]
lea edi, [esi + 0x100]
add esp, 8
cmp eax, 2
mov ecx, 0x40
mov esi, 0x4df7a0
rep movsd dword es:[edi], dword [esi]
jl 0x458088
cmp eax, 5
jg 0x458088
lea ebp, [ebx + 0x42a8]
mov ecx, 8
mov esi, 0x4df8a0
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
mov esi, 0x20
jmp 0x4580b6
mov eax, dword [ebx]
push eax
lea ebp, [ebx + 0x42a8]
call fcn.0042c140
mov ecx, dword [ebx]
add esp, 4
push eax
push ecx
call fcn.0042c140
add esp, 4
add eax, 0x4df8a0
push eax
push ebp
call fcn.0046b7c0
add esp, 0xc
xor esi, esi
mov eax, dword [ebx]
lea edi, [ebx + 8]
push edi
lea edx, [esi + 0x4df8a0]
push edx
push eax
call fcn.0042bdb0
add esp, 0xc
test eax, eax
jne 0x4581d1
push ebx
call fcn.0042be90
add esp, 4
test eax, eax
je 0x458172
mov ecx, dword [esp + 0x28]
push ebx
push 0
push 0x1c0
push ecx
call fcn.0042cef0
mov eax, dword [ebx]
push edi
lea edx, [esi + 0x4df7a0]
push edx
push eax
call fcn.0042bdb0
add esp, 0x1c
test eax, eax
jne 0x4581d1
mov eax, dword [ebx + 4]
add eax, 0xfffffffe
lea edi, [ebx + 0x41a8]
mov ecx, 0x40
mov esi, 0x4df7a0
rep movsd dword es:[edi], dword [esi]
cmp eax, 3
ja 0x45813f
mov ecx, 8
mov esi, 0x4df7a0
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
jmp 0x458165
mov ecx, dword [ebx]
push ecx
call fcn.0042c140
mov edx, dword [ebx]
add esp, 4
push eax
push edx
call fcn.0042c140
add esp, 4
add eax, 0x4df7a0
push eax
push ebp
call fcn.0046b7c0
add esp, 0xc
push ebx
call fcn.0042be90
add esp, 4
test eax, eax
jne 0x45817d
pop esi
pop ebp
pop edi
mov eax, 2
pop ebx
pop ecx
mov edx, 0x4df8a0
mov ecx, 0x100
mov esi, ecx
mov eax, edx
jmp 0x458190
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x458190
lea esp, [esp]
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x4581a0
mov edx, 0x4df718
mov ecx, 0x188
mov esi, ecx
mov eax, edx
mov byte [eax], 0
inc eax
sub esi, 1
jne 0x4581b7
dec ecx
mov byte [edx], 0
inc edx
test ecx, ecx
jne 0x4581c0
mov eax, dword [esp + 0x34]
mov dword [eax], ebx
xor eax, eax
pop esi
pop ebp
pop edi
pop ebx
pop ecx
ret