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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd8
mov esi, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
lea ecx, [esp + 0x88]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x100001
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 0x4021
call fcn.00442370
xor ebx, ebx
cmp eax, 0
jl 0x425126
mov dword [esp], esi
call fcn.00419080
shl eax, 1
mov word [esp + 0xb8], ax
movzx eax, ax
mov ecx, eax
and ecx, 2
or eax, 2
add ecx, eax
mov word [esp + 0xba], cx
mov dword [esp + 0xbc], esi
mov dword [esp], 0x848
call fcn.0043d080
mov dword [esp + 0x64], eax
mov esi, dword [esp + 0x88]
mov al, byte [esp + 0x90]
mov byte [esp + 0xac], al
mov byte [esp + 0x48], 0x8b
mov byte [esp + 0x49], 0x8a
mov byte [esp + 0x4a], 0x8d
mov byte [esp + 0x4b], 0x8c
xor eax, eax
cmp eax, 4
jae 0x42494b
mov dl, byte [esp + eax + 0x48]
mov edi, eax
and edi, 0xe2
mov ecx, eax
and ecx, 0x1d
xor ecx, 0x1d
mov ebx, eax
and ebx, 0x1d
xor ebx, 0x1d
or ecx, ebx
sub ecx, edi
xor cl, dl
mov dl, 0x95
sub dl, cl
mov byte [esp + eax + 0x48], dl
add eax, 1
jmp 0x424917
mov edi, dword [esp + 0x48]
xor ebx, ebx
mov ecx, 2
cmp ebx, dword [0x44f26c]
jb 0x424963
jmp 0x424a1d
mov ecx, dword [0x44f270]
cmp dword [ecx + ebx*8], 0x7fd4133f
sete dl
mov byte [esp + 0x3b], dl
test dl, 1
jne 0x424981
jmp 0x424a0a
mov edx, dword [ecx + ebx*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x424a0c
mov eax, dword [0x44f274]
xor ecx, ecx
lea ecx, [esp + 0xd0]
lea ebp, [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], 0
call fcn.0043fac0
mov ecx, 1
jmp 0x424a0c
xor ecx, ecx
test byte [esp + 0x3b], 1
je 0x424a15
jmp 0x424a1d
add ebx, 1
jmp 0x424951
cmp ecx, 2
jne 0x424a24
mov eax, edi
xor ebx, ebx
cmp eax, 0
jl 0x425049
mov dword [esp + 0x50], 0
xor ebx, ebx
xor esi, esi
mov eax, dword [esp + 0x64]
jmp 0x424a41
mov edi, dword [eax + 0x3c]
shr edi, 1
mov ecx, eax
add ecx, 0x38
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x54], eax
mov eax, dword [eax + 0x38]
and eax, 0x400
cmp eax, 0
sete al
test al, 1
jne 0x424a6d
jmp 0x424cc9
mov al, byte [esp + 0x7c]
mov byte [esp + 0x94], al
mov byte [esp + 0x80], 0x6e
mov byte [esp + 0x81], 0x81
mov byte [esp + 0x82], 0x82
mov byte [esp + 0x83], 0x83
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 5
jne 0x424a9d
xor eax, eax
mov dword [esp + 0x3c], ebx
cmp eax, 5
jae 0x424aec
movzx edx, byte [esp + eax + 0x80]
mov ecx, 0x1f
sub ecx, eax
or ecx, edx
mov ebx, eax
add ebx, 0xe0
xor edx, 0xffffffff
or ebx, edx
and ecx, ebx
mov ebx, dword [esp + 0x3c]
mov dl, 0x9f
sub dl, cl
mov byte [esp + eax + 0x80], dl
add eax, 1
jmp 0x424ab3
mov ebp, dword [esp + 0x54]
add ebp, 0x44
lea eax, [esp + 0x80]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00425140
cmp eax, 0
setne al
test al, 1
jne 0x424b19
jmp 0x424cc9
mov al, byte [esp + 0x78]
mov byte [esp + 0x98], al
mov byte [esp + 0x5c], 0xb2
mov byte [esp + 0x5d], 0x67
mov byte [esp + 0x5e], 0xb0
mov byte [esp + 0x5f], 0x61
mov byte [esp + 0x60], 0x60
mov byte [esp + 0x61], 0x63
mov eax, 6
mov byte [esp + eax + 0x5c], 0
add eax, 1
cmp eax, 8
jne 0x424b47
mov dword [esp + 0x58], esi
xor eax, eax
cmp eax, 8
jae 0x424c00
movzx ecx, byte [esp + eax + 0x5c]
mov edx, eax
add edx, 0x19
and edx, ecx
mov ebx, edx
and ebx, 2
xor ebx, 2
mov esi, edx
and esi, 0xfd
imul esi, ebx
mov ebx, edx
and ebx, 2
or edx, 2
imul edx, ebx
add edx, esi
sub edx, eax
mov esi, edx
add esi, 0x3f5edee7
xor esi, ecx
mov ebx, 0x18
sub ebx, edx
and ebx, ecx
shl ebx, 1
sub ebx, esi
mov ecx, ebx
add ecx, 0x3cda5a82
mov edx, 1
sub edx, ebx
mov esi, 1
sub esi, ebx
and edx, esi
and edx, 1
xor edx, 1
mov esi, ecx
and esi, 0xfe
mov ebx, ecx
xor ebx, 1
add ecx, ebx
mov ebx, ecx
sub ebx, esi
and ecx, edx
shl ecx, 1
xor ebx, edx
add ebx, ecx
mov byte [esp + eax + 0x5c], bl
mov ebx, dword [esp + 0x3c]
mov ecx, eax
shl ecx, 1
and ecx, 2
mov edx, eax
and edx, ecx
or eax, ecx
xor eax, 1
add eax, edx
jmp 0x424b5a
lea eax, [esp + 0x5c]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.00425140
cmp eax, 0
mov esi, dword [esp + 0x58]
jne 0x424c22
jmp 0x424cc9
mov eax, edi
sub eax, 0xffffffff
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x424c3d
mov ecx, eax
mov dword [esp], ecx
call fcn.004083e0
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov edi, eax
call fcn.00418cc0
mov word [eax], 0
mov eax, dword [esp + 0x54]
mov ecx, dword [eax + 0x28]
mov eax, dword [esp + 0xcc]
mov edx, dword [eax]
and edx, 0x10
xor eax, eax
cmp edx, 0
setne al
mov edx, dword [esp + 0xf8]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
mov dword [esp], edi
and eax, 1
mov dword [esp + 4], eax
call dword [esp + 0xf4]
and al, 1
movzx eax, al
and bl, 1
movzx ecx, bl
and ecx, ecx
xor ecx, 0xffffffff
mov edx, eax
xor edx, 0xffffffff
xor eax, 0xffffffff
or edx, eax
and edx, ecx
xor edx, 0xffffffff
cmp edx, 0
setne bl
and bl, 1
mov dword [esp], edi
call fcn.004083f0
jmp 0x424cc9
cmp esi, 0
je 0x424cd4
mov edi, dword [esp + 0x50]
jmp 0x424cfb
mov dword [esp], 0x10900
call fcn.0043d080
mov edi, eax
cmp edi, 0
jne 0x424cf7
xor esi, esi
mov eax, 2
mov edi, dword [esp + 0x54]
jmp 0x42503b
mov esi, edi
jmp 0x424cfb
cmp edi, esi
jne 0x42501a
mov al, byte [esp + 0x6c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x70], 0x64
mov byte [esp + 0x71], 0x64
mov byte [esp + 0x72], 0x6d
mov byte [esp + 0x73], 0x69
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 6
jne 0x424d27
mov dword [esp + 0x3c], ebx
xor eax, eax
mov dword [esp + 0x58], esi
cmp eax, 6
jae 0x424db8
movzx edx, byte [esp + eax + 0x70]
mov esi, eax
add esi, 0x429b8467
mov ecx, 0xbd647b98
sub ecx, eax
and ecx, 0x9dd18d2f
and esi, 0x622e72d0
or ecx, esi
xor ecx, edx
mov ebx, ecx
xor ebx, 0x9dd18d2f
mov esi, ebx
and esi, 0xfc
xor ecx, 0x622e72d0
mov edx, ecx
and edx, 0xc7be5a85
and ebx, 0x3841a57a
or edx, ebx
xor edx, 0x75483379
and ecx, 0xb2f669fc
xor ecx, 0xfc
mov ebx, edx
or ebx, ecx
add ebx, esi
shl edx, 1
and edx, 2
xor ebx, 1
add ebx, edx
mov byte [esp + eax + 0x70], bl
add eax, 1
jmp 0x424d3e
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc4], eax
mov al, byte [esp + 0x8c]
mov byte [esp + 0xb0], al
mov byte [esp + 0x44], 0x8b
mov byte [esp + 0x45], 0x8a
mov byte [esp + 0x46], 0x8d
mov byte [esp + 0x47], 0x8c
xor eax, eax
cmp eax, 4
jae 0x424e29
mov dl, byte [esp + eax + 0x44]
mov esi, eax
and esi, 0xe2
mov ecx, eax
and ecx, 0x1d
xor ecx, 0x1d
mov ebx, eax
and ebx, 0x1d
xor ebx, 0x1d
or ecx, ebx
sub ecx, esi
xor cl, dl
mov dl, 0x95
sub dl, cl
mov byte [esp + eax + 0x44], dl
add eax, 1
jmp 0x424df5
mov esi, dword [esp + 0x44]
xor ebp, ebp
mov ebx, dword [esp + 0x3c]
mov ecx, 2
cmp ebp, dword [0x44f26c]
jb 0x424e45
jmp 0x424f14
mov ecx, dword [0x44f270]
cmp dword [ecx + ebp*8], 0x7fd4133f
sete al
test al, 1
jne 0x424e5e
jmp 0x424f04
mov edx, dword [ecx + ebp*8 + 4]
mov ecx, 2
cmp edx, esi
je 0x424f06
mov byte [esp + 0x3a], al
mov eax, dword [0x44f274]
xor ecx, ecx
lea ecx, [esp + 0xd0]
lea ebx, [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2c
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x34], 0
call fcn.0043fac0
mov dword [esp + 0xb4], eax
mov al, byte [esp + 0x3a]
mov ecx, 1
jmp 0x424f06
xor ecx, ecx
test al, 1
je 0x424f0c
jmp 0x424f14
add ebp, 1
jmp 0x424e33
cmp ecx, 2
jne 0x424f20
mov dword [esp + 0xb4], esi
mov eax, edi
mov cl, byte [esp + 0x68]
mov byte [esp + 0xa0], cl
mov byte [esp + 0x40], 0xe5
mov byte [esp + 0x41], 0xe1
mov byte [esp + 0x42], 0xe2
mov byte [esp + 0x43], 0x63
xor ecx, ecx
cmp ecx, 4
jae 0x424fa4
movzx esi, byte [esp + ecx + 0x40]
mov edx, ecx
add edx, 0x9542a858
mov ebx, edx
and ebx, esi
mov ebp, ebx
and ebp, 0xfd
mov edi, ebx
and edi, 2
xor edi, 2
imul edi, ebp
mov ebp, ebx
and ebp, 2
or ebx, 2
imul ebx, ebp
add ebx, edi
add edx, esi
sub edx, ebx
mov esi, edx
add esi, 0x15b2b647
mov ebx, esi
and ebx, 1
and esi, 1
xor esi, 0xffffffff
add edx, 0x49
add edx, esi
add ebx, edx
mov byte [esp + ecx + 0x40], bl
mov ebx, dword [esp + 0x3c]
add ecx, 1
jmp 0x424f43
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xb4]
cmp edx, ecx
mov ecx, edx
mov esi, dword [esp + 0x58]
mov edi, eax
jne 0x424ff3
xor eax, eax
mov edx, edi
jmp 0x424fc1
mov ecx, edx
mov esi, dword [ecx]
cmp esi, 0
je 0x424fd8
shr esi, 2
shl esi, 2
mov edx, ecx
add edx, esi
mov eax, ecx
jmp 0x424fc1
cmp eax, 0
setne cl
test cl, 1
mov esi, dword [esp + 0x58]
jne 0x424fe9
jmp 0x424fef
mov dword [eax], 0
xor ecx, ecx
jmp 0x424ff3
cmp ecx, 0
jge 0x425007
mov dword [esp], esi
call fcn.0043d1b0
mov eax, 2
jmp 0x42500b
xor eax, eax
jmp 0x42500b
cmp eax, 0
je 0x42501a
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x54]
jmp 0x42503b
mov eax, dword [edi]
cmp eax, 0
setne cl
test cl, 1
jne 0x425029
jmp 0x425033
mov ecx, edi
add ecx, eax
mov dword [esp + 0x50], ecx
jmp 0x425039
mov dword [esp + 0x50], esi
jmp 0x425039
xor eax, eax
test eax, eax
mov eax, edi
je 0x424a41
jmp 0x425047
jmp 0x425049
mov eax, dword [esp + 0x64]
mov dword [esp], eax
call fcn.0043d1b0
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc0], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xa8], al
mov byte [esp + 0x4c], 0x8b
mov byte [esp + 0x4d], 0x8a
mov byte [esp + 0x4e], 0x8d
mov byte [esp + 0x4f], 0x8c
xor eax, eax
cmp eax, 4
jae 0x4250bf
mov dl, byte [esp + eax + 0x4c]
mov edi, eax
and edi, 0xe2
mov ecx, eax
and ecx, 0x1d
xor ecx, 0x1d
mov esi, ebx
mov ebx, eax
and ebx, 0x1d
xor ebx, 0x1d
or ecx, ebx
mov ebx, esi
sub ecx, edi
xor cl, dl
mov dl, 0x95
sub dl, cl
mov byte [esp + eax + 0x4c], dl
add eax, 1
jmp 0x425087
mov edi, dword [esp + 0x4c]
xor ebp, ebp
cmp ebp, dword [0x44f26c]
jb 0x4250cf
jmp 0x425126
mov esi, ebx
mov eax, dword [0x44f270]
cmp dword [eax + ebp*8], 0x1b6183f2
sete bl
test bl, 1
jne 0x4250e7
jmp 0x425116
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
jne 0x4250f1
jmp 0x425116
mov ecx, dword [0x44f274]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
call fcn.0043fac0
test bl, 1
je 0x42511f
mov ebx, esi
jmp 0x425126
add ebp, 1
mov ebx, esi
jmp 0x4250c5
and bl, 1
movzx eax, bl
add esp, 0xd8
pop esi
pop edi
pop ebx
pop ebp
ret