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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49e630
mov eax, dword fs:[0]
push eax
sub esp, 0x68
push ebx
push esi
push edi
mov eax, dword [0x4c4330]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov ebx, ecx
mov esi, dword [ebp + 8]
cmp dword [ebp + 0x10], 1
jne 0x42807a
cmp dword [ebp + 0x18], 4
jne 0x42807a
call fcn.00427440
test al, al
jne 0x427758
mov eax, 0x8007000e
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
xor edi, edi
mov byte [esp + 0x12], 0
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], edi
cmp ebx, edi
je 0x427791
mov eax, dword [ebx]
cmp eax, edi
je 0x427791
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
cmp eax, edi
ja 0x427791
jb 0x42778c
cmp ecx, 0x1000000
ja 0x427791
mov byte [esp + 0x12], 1
mov dword [esp + 0x30], esi
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x80], edi
mov ebx, dword [edx]
mov ecx, dword [eax]
mov dword [esp + 0x1c], ecx
cmp ebx, edi
je 0x4277b6
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov eax, dword [esi + 0x24]
cmp eax, edi
je 0x4277c5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x24], ebx
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x1c], edi
mov dword [esi + 0x18], ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x28], edi
mov dword [esi + 0x2c], edi
mov byte [esi + 0x34], 0
mov ebx, dword [edx + 4]
cmp ebx, edi
je 0x4277f0
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov eax, dword [esi + 0x4c]
cmp eax, edi
je 0x4277ff
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x4c], ebx
mov ecx, dword [esi + 0x48]
mov dword [esi + 0x44], edi
mov dword [esi + 0x40], ecx
mov dword [esi + 0x3c], edi
mov dword [esi + 0x50], edi
mov dword [esi + 0x54], edi
mov byte [esi + 0x5c], 0
mov ebx, dword [edx + 8]
cmp ebx, edi
je 0x42782a
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov eax, dword [esi + 0x74]
cmp eax, edi
je 0x427839
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov edx, dword [ebp + 0x14]
mov dword [esi + 0x74], ebx
mov ecx, dword [esi + 0x70]
mov dword [esi + 0x6c], edi
mov dword [esi + 0x68], ecx
mov dword [esi + 0x64], edi
mov dword [esi + 0x78], edi
mov dword [esi + 0x7c], edi
mov byte [esi + 0x84], 0
mov ebx, dword [edx + 0xc]
cmp ebx, edi
je 0x427867
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov esi, dword [esi + 0xb4]
cmp esi, edi
je 0x427879
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov esi, dword [ebp + 8]
mov dword [esi + 0xb4], ebx
mov ecx, dword [esi + 0xb0]
lea ebx, [esi + 0x88]
xor edx, edx
mov dword [ebx + 0x20], ecx
mov dword [ebx + 0x24], edx
mov dword [ebx + 0x1c], edx
mov dword [ebx + 0x30], edx
mov dword [ebx + 0x34], edx
mov byte [ebx + 0x3c], dl
lea edi, [esi + 0xc8]
mov ecx, 0x102
mov eax, 0x400
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], edx
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx], 1
mov byte [ebx + 4], dl
rep stosd dword es:[edi], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x84], 1
mov edx, dword [eax]
mov edx, dword [edx]
push 0x4a9344
push eax
call edx
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x14], eax
mov byte [esp + 0x10], al
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov ecx, eax
jmp 0x427920
mov eax, 0x20000
xor edi, edi
sub eax, ecx
je 0x427973
jmp 0x427930
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esi + 8]
add eax, edi
add eax, dword [esp + 0x1c]
push eax
push ecx
call edx
mov dword [esp + 0x28], eax
test eax, eax
jne 0x427d37
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x427973
add edi, eax
mov eax, 0x20000
sub eax, edi
sub eax, dword [esp + 0x14]
jne 0x427930
mov eax, dword [esp + 0x14]
add eax, edi
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], 0
cmp eax, 5
jb 0x427dc3
mov edi, edi
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x14]
mov dl, byte [edx + ecx]
mov ecx, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov byte [ecx + esi], dl
inc dword [eax + 0x14]
mov ecx, dword [eax + 0x14]
mov byte [esp + 0x11], dl
cmp ecx, dword [eax + 0x18]
jne 0x4279cb
mov esi, eax
add esi, 0x10
call fcn.004263c0
test eax, eax
jne 0x427f84
mov dl, byte [esp + 0x11]
mov al, dl
and al, 0xfe
cmp al, 0xe8
je 0x4279ed
cmp byte [esp + 0x10], 0xf
jne 0x4279e4
mov cl, dl
and cl, 0xf0
cmp cl, 0x80
je 0x4279ed
mov byte [esp + 0x10], dl
jmp 0x427cc4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov edi, dword [esp + 0x14]
mov cl, byte [eax + edi + 4]
movzx esi, byte [eax + edi + 3]
add eax, edi
movzx edx, cl
shl edx, 8
or esi, edx
movzx edx, byte [eax + 2]
movzx eax, byte [eax + 1]
shl esi, 8
or esi, edx
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x20]
lea edx, [esi + edi]
lea edx, [edx + eax + 5]
mov eax, dword [esp + 0x18]
mov byte [esp + 0x13], cl
mov dword [esp + 0x28], edx
test eax, eax
je 0x427b8a
xor ecx, ecx
mov edx, edi
add edx, dword [esp + 0x3c]
adc ecx, dword [esp + 0x40]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
cmp dword [esp + 0x38], ecx
ja 0x427b05
jb 0x427a67
mov ecx, edx
cmp dword [esp + 0x34], ecx
jae 0x427b05
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x4c]
push ecx
push eax
call edx
mov edi, eax
test edi, edi
jne 0x427aaf
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
add eax, dword [esp + 0x64]
mov dword [esp + 0x50], ecx
adc ecx, dword [esp + 0x68]
add dword [esp + 0x44], 1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
adc dword [esp + 0x48], edi
jmp 0x427ae7
cmp edi, 1
je 0x427ac0
cmp edi, 0x80004001
jne 0x427f97
mov eax, dword [esp + 0x18]
test eax, eax
je 0x427ad6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
xor eax, eax
mov dword [esp + 0x18], eax
xor ecx, ecx
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x50], ecx
or ecx, 0xffffffff
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
cmp ecx, dword [esp + 0x60]
jb 0x427a67
ja 0x427b05
mov edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x5c]
jb 0x427a67
test eax, eax
jne 0x427b30
cmp byte [esp + 0x12], al
je 0x427b51
cmp eax, dword [esp + 0x58]
ja 0x427b29
jb 0x427bb2
mov eax, dword [esp + 0x54]
cmp dword [esp + 0x28], eax
jb 0x427bb2
xor al, al
jmp 0x427bb4
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
sub eax, edi
sbb edx, ecx
mov dword [esp + 0x70], edx
jne 0x427b51
cmp eax, 0x1000000
jbe 0x427b5d
mov al, byte [esp + 0x13]
test al, al
je 0x427bb2
cmp al, 0xff
jmp 0x427bac
mov eax, esi
cdq
add eax, dword [esp + 0x5c]
adc edx, dword [esp + 0x60]
add eax, 5
adc edx, 0
cmp edx, ecx
jb 0x427b86
ja 0x427b78
cmp eax, edi
jb 0x427b86
cmp edx, dword [esp + 0x38]
ja 0x427b86
jb 0x427bb2
cmp eax, dword [esp + 0x34]
jb 0x427bb2
xor al, al
jmp 0x427bb4
cmp byte [esp + 0x12], 0
je 0x427ba5
xor eax, eax
cmp eax, dword [esp + 0x58]
ja 0x427ba1
jb 0x427bb2
cmp edx, dword [esp + 0x54]
jb 0x427bb2
xor al, al
jmp 0x427bb4
test cl, cl
je 0x427bb2
cmp cl, 0xff
je 0x427bb2
xor al, al
jmp 0x427bb4
mov al, 1
cmp byte [esp + 0x11], 0xe8
jne 0x427bc2
movzx ecx, byte [esp + 0x10]
jmp 0x427bd2
xor ecx, ecx
cmp byte [esp + 0x11], 0xe9
setne cl
add ecx, 0x100
test al, al
je 0x427c77
mov edx, dword [ebx + 0x10]
mov esi, dword [ebp + 8]
mov eax, edx
shr eax, 0xb
imul eax, dword [esi + ecx*4 + 0xc8]
add dword [ebx + 8], eax
adc dword [ebx + 0xc], 0
sub edx, eax
mov dword [ebx + 0x10], edx
mov eax, dword [esi + ecx*4 + 0xc8]
mov edx, eax
shr edx, 5
sub eax, edx
mov dword [esi + ecx*4 + 0xc8], eax
mov eax, dword [ebx + 0x10]
cmp eax, 0x1000000
jae 0x427c25
shl eax, 8
mov edi, ebx
mov dword [ebx + 0x10], eax
call fcn.00426ef0
add dword [esp + 0x14], 5
cmp byte [esp + 0x11], 0xe8
jne 0x427c36
add esi, 0x38
jmp 0x427c39
add esi, 0x60
mov edi, 0x18
mov edi, edi
mov eax, dword [esp + 0x28]
mov edx, dword [esi]
mov ecx, edi
shr eax, cl
mov ecx, dword [esi + 4]
mov byte [ecx + edx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
jne 0x427c68
call fcn.004263c0
test eax, eax
jne 0x428047
sub edi, 8
jns 0x427c40
mov al, byte [esp + 0x13]
mov byte [esp + 0x10], al
jmp 0x427cc8
mov eax, dword [ebx + 0x10]
mov edx, dword [ebp + 8]
shr eax, 0xb
imul eax, dword [edx + ecx*4 + 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [edx + ecx*4 + 0xc8]
mov esi, 0x800
sub esi, eax
shr esi, 5
add esi, eax
mov dword [edx + ecx*4 + 0xc8], esi
mov eax, dword [ebx + 0x10]
cmp eax, 0x1000000
jae 0x427cbc
shl eax, 8
mov edi, ebx
mov dword [ebx + 0x10], eax
call fcn.00426ef0
mov cl, byte [esp + 0x11]
mov byte [esp + 0x10], cl
inc dword [esp + 0x14]
mov eax, dword [esp + 0x24]
add eax, 0xfffffffb
cmp dword [esp + 0x14], eax
jbe 0x427990
mov esi, dword [esp + 0x14]
add dword [esp + 0x20], esi
add dword [esp + 0x3c], esi
mov eax, dword [ebp + 0x1c]
mov edi, 0
adc dword [esp + 0x40], edi
cmp eax, edi
je 0x427d0f
mov edx, dword [eax]
mov edx, dword [edx + 0xc]
push edi
lea ecx, [esp + 0x40]
push ecx
push eax
call edx
mov dword [esp + 0x28], eax
cmp eax, edi
jne 0x42805a
mov ecx, dword [esp + 0x24]
cmp esi, ecx
jae 0x427d29
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dl, byte [eax + esi]
mov byte [eax + edi], dl
inc esi
inc edi
cmp esi, ecx
jb 0x427d17
mov esi, dword [ebp + 8]
mov ecx, edi
mov dword [esp + 0x14], ecx
jmp 0x427920
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x18]
xor edi, edi
cmp eax, edi
je 0x427d51
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [esi + 0x24]
cmp eax, edi
je 0x427d6e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x24], edi
mov eax, dword [esi + 0x4c]
cmp eax, edi
je 0x427d80
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x4c], edi
mov eax, dword [esi + 0x74]
cmp eax, edi
je 0x427d92
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0x74], edi
mov eax, dword [esi + 0xb4]
cmp eax, edi
je 0x427daa
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esi + 0xb4], edi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
test eax, eax
je 0x427e98
mov cl, byte [esp + 0x10]
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x14]
mov dl, byte [edx + eax]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x14]
mov byte [eax + edi], dl
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
mov byte [esp + 0x13], dl
cmp eax, dword [esi + 0x18]
jne 0x427e0f
mov esi, dword [ebp + 8]
add esi, 0x10
call fcn.004263c0
test eax, eax
jne 0x427f71
mov esi, dword [ebp + 8]
mov cl, byte [esp + 0x10]
mov dl, byte [esp + 0x13]
cmp dl, 0xe8
jne 0x427e19
movzx eax, cl
jmp 0x427e39
cmp dl, 0xe9
jne 0x427e25
mov eax, 0x100
jmp 0x427e39
cmp cl, 0xf
jne 0x427e7f
mov cl, dl
and cl, 0xf0
cmp cl, 0x80
jne 0x427e7f
mov eax, 0x101
mov ecx, dword [ebx + 0x10]
shr ecx, 0xb
imul ecx, dword [esi + eax*4 + 0xc8]
mov dword [ebx + 0x10], ecx
mov ecx, dword [esi + eax*4 + 0xc8]
mov edi, 0x800
sub edi, ecx
shr edi, 5
add edi, ecx
mov dword [esi + eax*4 + 0xc8], edi
mov eax, dword [ebx + 0x10]
cmp eax, 0x1000000
jae 0x427e7f
shl eax, 8
mov edi, ebx
mov dword [ebx + 0x10], eax
call fcn.00426ef0
mov dl, byte [esp + 0x13]
mov eax, dword [esp + 0x14]
inc eax
mov cl, dl
mov byte [esp + 0x10], cl
mov dword [esp + 0x14], eax
cmp eax, dword [esp + 0x24]
jb 0x427dcf
mov edi, dword [ebp + 8]
lea esi, [edi + 0x10]
call fcn.004263c0
test eax, eax
jne 0x427ed7
lea esi, [edi + 0x38]
call fcn.004263c0
test eax, eax
jne 0x427ed7
lea esi, [edi + 0x60]
call fcn.004263c0
test eax, eax
jne 0x427ed7
mov edi, ebx
call fcn.00426e40
mov esi, dword [ebp + 8]
add esi, 0xa0
call fcn.004263c0
mov edi, dword [ebp + 8]
mov esi, eax
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x427ef1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [edi + 0x24]
test eax, eax
je 0x427f12
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0x24], 0
mov eax, dword [edi + 0x4c]
test eax, eax
je 0x427f28
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0x4c], 0
mov eax, dword [edi + 0x74]
test eax, eax
je 0x427f3e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0x74], 0
mov eax, dword [edi + 0xb4]
test eax, eax
je 0x427f5a
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0xb4], 0
mov eax, esi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x4b7c18
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], eax
call fcn.00488dda
mov dword [esp + 0x2c], eax
push 0x4b7c18
lea eax, [esp + 0x30]
push eax
call fcn.00488dda
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x18]
test eax, eax
je 0x427faf
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov dword [esp + 0x80], 0xffffffff
mov eax, dword [eax + 0x24]
test eax, eax
je 0x427fd6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x24], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x4c]
test eax, eax
je 0x427ff2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x74]
test eax, eax
je 0x42800e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp + 8]
mov dword [eax + 0x74], 0
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0xb4]
test eax, eax
je 0x428030
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xb4], 0
mov eax, edi
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18
push 0x4b7c18
lea edx, [esp + 0x2c]
push edx
mov dword [esp + 0x30], eax
call fcn.00488dda
mov byte [esp + 0x80], 0
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x428072
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [ebp + 8]
jmp 0x427d51
mov eax, 0x80070057
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18