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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x380
mov esi, esp
mov ebx, dword [ebp + 0xc]
lea eax, [0x44b160]
mov dword [esi + 0x2ec], eax
mov al, byte [esi + 0x8c]
mov byte [esi + 0xa4], al
mov byte [esi + 0x90], 0x31
mov byte [esi + 0x91], 0x87
mov byte [esi + 0x92], 0x29
mov byte [esi + 0x93], 0x81
mov byte [esi + 0x94], 0x3b
mov byte [esi + 0x95], 0x83
mov byte [esi + 0x96], 0xfe
mov byte [esi + 0x97], 0x8d
mov byte [esi + 0x98], 0xfa
mov byte [esi + 0x99], 0x8f
mov byte [esi + 0x9a], 0x22
mov byte [esi + 0x9b], 0x89
mov byte [esi + 0x9c], 0x2a
mov byte [esi + 0x9d], 0x8b
mov byte [esi + 0x9e], 0x8a
mov byte [esi + 0x9f], 0x95
mov eax, 0x10
mov byte [esi + eax + 0x90], 0
add eax, 1
cmp eax, 0x12
jne 0x422ce1
xor eax, eax
cmp eax, 0x12
jae 0x422d21
mov dl, byte [esi + eax + 0x90]
mov edi, eax
shl edi, 1
and edi, 0x42
mov ecx, eax
xor ecx, 0xa1
add ecx, edi
xor cl, dl
add cl, 0xdb
mov byte [esi + eax + 0x90], cl
add eax, 1
jmp 0x422cf3
lea eax, [esi + 0x90]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00419aa0
add esp, 0xc
and al, 1
movzx ebx, al
mov al, byte [esi + 0x88]
mov byte [esi + 0xa8], al
mov byte [esi + 0x148], 0x13
mov byte [esi + 0x149], 0xf1
mov byte [esi + 0x14a], 0x6f
mov byte [esi + 0x14b], 0xf3
mov byte [esi + 0x14c], 0x7e
mov byte [esi + 0x14d], 0xed
mov byte [esi + 0x14e], 0x62
mov byte [esi + 0x14f], 0xef
mov byte [esi + 0x150], 0x21
mov byte [esi + 0x151], 0xe9
mov byte [esi + 0x152], 0x3c
mov byte [esi + 0x153], 0xeb
mov byte [esi + 0x154], pe_nt_image_headers32
mov byte [esi + 0x155], 0xe5
mov byte [esi + 0x156], 4
mov byte [esi + 0x157], 0xe7
mov byte [esi + 0x158], 0xe0
mov byte [esi + 0x159], 0xe1
mov eax, 0x12
mov byte [esi + eax + 0x148], 0
add eax, 1
cmp eax, 0x16
jne 0x422dd4
xor eax, eax
cmp eax, 0x16
jae 0x422e19
movzx edi, byte [esi + eax + 0x148]
mov ecx, 0x53
sub ecx, eax
or ecx, edi
mov edx, 0x53
sub edx, eax
and edx, edi
xor ecx, 0xffffffff
or edx, ecx
add dl, 0xa4
mov byte [esi + eax + 0x148], dl
add eax, 1
jmp 0x422de6
lea eax, [esi + 0x148]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00419aa0
add esp, 0xc
and al, 1
movzx ecx, al
mov eax, ebx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and ebx, 0xc07162b9
and ecx, 0xc07162b9
or ebx, 0x3f8e9d46
or ecx, 0x3f8e9d46
xor ebx, ecx
or eax, edx
xor eax, 0xffffffff
and eax, 0xffffffff
or ebx, eax
cmp ebx, 0
setne byte [esi + 5]
mov al, byte [esi + 0x84]
mov byte [esi + 0xac], al
mov byte [esi + 0xf8], 0x96
mov byte [esi + 0xf9], 0x3b
mov byte [esi + 0xfa], 0xab
mov byte [esi + 0xfb], 0x39
mov byte [esi + 0xfc], 0xa6
mov byte [esi + 0xfd], 0x27
mov byte [esi + 0xfe], 0xb5
mov byte [esi + 0xff], 0x25
mov byte [esi + 0x100], 0x8c
mov byte [esi + 0x101], 0x23
mov byte [esi + 0x102], 0xb5
mov byte [esi + 0x103], 0x21
mov byte [esi + 0x104], 0xbd
mov byte [esi + 0x105], 0x2f
mov byte [esi + 0x106], 0xb2
mov byte [esi + 0x107], 0x2d
mov byte [esi + 0x108], 0xbd
mov byte [esi + 0x109], 0x2b
mov byte [esi + 0x10a], 0xb4
mov byte [esi + 0x10b], 0x29
mov byte [esi + 0x10c], 0xaf
mov byte [esi + 0x10d], 0x17
mov byte [esi + 0x10e], 0xc4
mov byte [esi + 0x10f], 0x15
mov byte [esi + 0x110], 0x89
mov byte [esi + 0x111], 0x13
mov byte [esi + 0x112], 0x8d
mov byte [esi + 0x113], 0x11
mov byte [esi + 0x114], 0x84
mov byte [esi + 0x115], 0x1f
mov byte [esi + 0x116], 0x89
mov byte [esi + 0x117], 0x1d
mov byte [esi + 0x118], 0x80
mov byte [esi + 0x119], 0x1b
mov byte [esi + 0x11a], 0xb1
mov byte [esi + 0x11b], 0x19
mov byte [esi + 0x11c], 0x18
mov byte [esi + 0x11d], 7
mov eax, 0x26
mov byte [esi + eax + 0xf8], 0
add eax, 1
cmp eax, 0x2b
jne 0x422f90
xor edi, edi
cmp edi, 0x2b
jae 0x422fd9
mov cl, byte [esi + edi + 0xf8]
movzx edx, cl
mov ebx, edi
add ebx, 0x4b
mov eax, edi
add eax, 0x4b
and eax, ebx
and eax, edx
shl eax, 1
mov edx, edi
sub edx, eax
add dl, 0x4b
add dl, cl
add dl, 0x89
mov byte [esi + edi + 0xf8], dl
add edi, 1
jmp 0x422fa2
lea eax, [esi + 0xf8]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00419aa0
add esp, 0xc
and al, 1
movzx ecx, al
mov al, byte [esi + 5]
and al, 1
movzx eax, al
mov edx, ecx
xor edx, 0xffffffff
mov edi, eax
and edi, edx
mov edx, eax
xor edx, ecx
add eax, edx
sub eax, edi
cmp eax, 0
setne byte [esi + 6]
mov al, byte [esi + 0x80]
mov byte [esi + 0xb0], al
mov byte [esi + 0x124], 0xd1
mov byte [esi + 0x125], 0x4b
mov byte [esi + 0x126], 0xdb
mov byte [esi + 0x127], 0x49
mov byte [esi + 0x128], 0xd9
mov byte [esi + 0x129], 0x47
mov byte [esi + 0x12a], 0xd3
mov byte [esi + 0x12b], 0x45
mov byte [esi + 0x12c], 0xd3
mov byte [esi + 0x12d], 0x43
mov byte [esi + 0x12e], 0xd9
mov byte [esi + 0x12f], 0x41
mov byte [esi + 0x130], 0xcd
mov byte [esi + 0x131], 0x7f
mov byte [esi + 0x132], 0xac
mov byte [esi + 0x133], 0x7d
mov byte [esi + 0x134], 0xf1
mov byte [esi + 0x135], 0x7b
mov byte [esi + 0x136], 0xf5
mov byte [esi + 0x137], 0x79
mov byte [esi + 0x138], 0xec
mov byte [esi + 0x139], 0x77
mov byte [esi + 0x13a], 0xe1
mov byte [esi + 0x13b], 0x75
mov byte [esi + 0x13c], 0xf8
mov byte [esi + 0x13d], 0x73
mov byte [esi + 0x13e], 0xe9
mov byte [esi + 0x13f], 0x71
mov byte [esi + 0x140], 0x70
mov byte [esi + 0x141], 0x6f
mov eax, 0x1e
mov byte [esi + eax + 0x124], 0
add eax, 1
cmp eax, 0x22
jne 0x423103
xor edi, edi
cmp edi, 0x22
jae 0x423200
movzx ecx, byte [esi + edi + 0x124]
mov dword [esi + 0x188], ecx
mov dword [esi + 8], edi
mov edi, dword [esi + 8]
add edi, 0x1d111493
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
shl edx, 1
xor edx, 0xffffffff
add edx, ecx
and edx, eax
mov ecx, 0xe2eeeb6c
sub ecx, dword [esi + 8]
mov eax, 0xe2eeeb6c
sub eax, dword [esi + 8]
mov dword [esi + 0x164], eax
mov ebx, ecx
and ebx, 0x53556ede
mov eax, edi
and eax, 0xacaa9121
mov dword [esi + 0x184], eax
mov eax, dword [esi + 0x164]
and eax, 0x53556ede
mov dword [esi + 0x160], edi
and dword [esi + 0x160], 0xacaa9121
or ebx, dword [esi + 0x184]
or eax, dword [esi + 0x160]
xor ebx, eax
or ecx, dword [esi + 0x164]
xor ebx, 0xffffffff
and ecx, ebx
or edx, ecx
xor edx, 0xffffffff
mov ebx, 0x6c
sub ebx, dword [esi + 8]
mov eax, dword [esi + 0x188]
and ebx, eax
xor edi, eax
add edi, eax
xor edi, 0xffffffff
add ebx, edi
mov edi, dword [esi + 8]
or ebx, edx
mov eax, ebx
shl eax, 1
xor eax, 0xffffffff
add ebx, eax
mov ecx, ebx
add ecx, 0x21
mov eax, 0x5f
sub eax, ebx
or eax, 1
add eax, ecx
shl eax, 1
xor ebx, 1
add ebx, 0x20
add ebx, eax
mov byte [esi + edi + 0x124], bl
mov ebx, dword [ebp + 0xc]
add edi, 1
jmp 0x423115
lea eax, [esi + 0x124]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00419aa0
add esp, 0xc
and al, 1
movzx eax, al
mov cl, byte [esi + 6]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne bl
mov al, byte [esi + 0x60]
mov byte [esi + 0xb4], al
mov byte [esi + 0x64], 0x74
mov byte [esi + 0x65], 9
mov byte [esi + 0x66], 0x7d
mov byte [esi + 0x67], 0xf
mov byte [esi + 0x68], 0x77
mov byte [esi + 0x69], 0xd
mov byte [esi + 0x6a], 0x7b
mov byte [esi + 0x6b], 3
mov byte [esi + 0x6c], 0x72
mov byte [esi + 0x6d], 1
mov byte [esi + 0x6e], 0x71
mov byte [esi + 0x6f], 7
mov byte [esi + 0x70], 0x36
mov byte [esi + 0x71], 5
mov byte [esi + 0x72], 0x64
mov byte [esi + 0x73], 0x1b
mov byte [esi + 0x74], 0x6f
mov byte [esi + 0x75], 0x19
mov byte [esi + 0x76], 0x6d
mov byte [esi + 0x77], 0x1f
mov byte [esi + 0x78], 0x6e
mov byte [esi + 0x79], 0x1d
mov byte [esi + 0x7a], 0x12
mov byte [esi + 0x7b], 0x13
mov eax, 0x18
mov byte [esi + eax + 0x64], 0
add eax, 1
cmp eax, 0x1b
jne 0x4232a3
xor eax, eax
cmp eax, 0x1b
jae 0x4232e9
movzx edx, byte [esi + eax + 0x64]
mov ecx, eax
add ecx, 0x3c27ed82
mov edi, ecx
and edi, edx
shl edi, 1
sub ecx, edi
add ecx, edx
add ecx, 0xd3385c75
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [esi + eax + 0x64], cl
add eax, 1
jmp 0x4232b2
lea eax, [esi + 0x64]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00419aa0
add esp, 0xc
and al, 1
movzx eax, al
and bl, 1
movzx ecx, bl
mov edx, ecx
and edx, eax
xor ecx, eax
or edx, ecx
cmp edx, 0
setne bl
mov al, byte [esi + 0x3c]
mov byte [esi + 0xb8], al
mov byte [esi + 0x40], 0x18
mov byte [esi + 0x41], 0x89
mov byte [esi + 0x42], 0x22
mov byte [esi + 0x43], 0xb7
mov byte [esi + 0x44], 0xd5
mov byte [esi + 0x45], 0xb5
mov byte [esi + 0x46], 0xdd
mov byte [esi + 0x47], 0xb3
mov byte [esi + 0x48], 0xdd
mov byte [esi + 0x49], 0xb1
mov byte [esi + 0x4a], 0x21
mov byte [esi + 0x4b], 0xbf
mov byte [esi + 0x4c], 0xee
mov byte [esi + 0x4d], 0xbd
mov byte [esi + 0x4e], 0x25
mov byte [esi + 0x4f], 0xbb
mov byte [esi + 0x50], 0x29
mov byte [esi + 0x51], 0xb9
mov byte [esi + 0x52], 0x32
mov byte [esi + 0x53], 0xa7
mov byte [esi + 0x54], 0xcd
mov byte [esi + 0x55], 0xa5
mov byte [esi + 0x56], 0x3e
mov byte [esi + 0x57], 0xa3
mov byte [esi + 0x58], 0xcd
mov byte [esi + 0x59], 0xa1
mov byte [esi + 0x5a], 0xae
mov byte [esi + 0x5b], 0xaf
mov eax, 0x1c
mov byte [esi + eax + 0x40], 0
add eax, 1
cmp eax, 0x20
jne 0x42339f
xor eax, eax
cmp eax, 0x20
jae 0x4233f7
movzx edx, byte [esi + eax + 0x40]
mov ecx, eax
add ecx, 0xa4aef89e
or ecx, edx
mov edi, eax
add edi, 0x9e
and edi, edx
add ecx, 0xa7f3fae7
sub ecx, edi
mov edx, ecx
add edx, 0x19
mov edi, 0x66
sub edi, ecx
and edi, 0x65
and edx, 0x9a
sub edx, edi
add dl, 0x4f
mov byte [esi + eax + 0x40], dl
add eax, 1
jmp 0x4233ae
sub esp, 0xc
lea eax, [esi + 0x40]
mov dword [esp + 8], eax
mov edi, dword [ebp + 0xc]
mov dword [esp + 4], edi
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00419aa0
add esp, 0xc
movzx eax, al
xor ecx, ecx
mov cl, bl
not ecx
or ecx, 0xfffffffe
not eax
and ecx, eax
not ecx
mov dword [esi + 0x18], ecx
test ecx, ecx
setne byte [esi + 7]
xor ecx, ecx
cmp dword [ebp + 0x10], 0
sete cl
mov dword [esi + 0x2e8], ecx
mov ecx, dword [esi + 0x2ec]
mov edx, dword [esi + 0x2e8]
mov eax, dword [ecx + edx*4]
mov dword [esi + 0x1bc], eax
push eax
mov eax, esp
mov dword [esi + 0x1c0], eax
mov dword [eax], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x1b8], eax
mov dword [eax], 0x37
push eax
mov eax, esp
mov dword [esi + 0x1d0], eax
mov dword [eax], 0x44b168
push eax
mov dword [esi + 0x1c8], esp
push eax
mov eax, esp
mov dword [esi + 0x1cc], eax
mov dword [eax], 0x44b170
push eax
mov dword [esi + 0x1c4], esp
push eax
mov ecx, esp
mov dword [esi + 0x200], ecx
mov dword [ecx], 0x44b178
push eax
mov dword [esi + 0x1f4], esp
push eax
mov eax, esp
mov dword [esi + 0x1ec], eax
mov dword [eax], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x1d8], eax
mov dword [eax], 0x19
push eax
mov eax, esp
mov dword [esi + 0x1e0], eax
mov dword [eax], 0x44b180
push eax
mov dword [esi + 0x1d4], esp
push eax
mov ecx, esp
mov dword [esi + 0x1f8], ecx
mov dword [ecx], 0x44b188
push eax
mov dword [esi + 0x1e4], esp
push eax
mov eax, esp
mov dword [esi + 0x1e8], eax
mov dword [eax], 0x44b190
push eax
mov dword [esi + 0x1dc], esp
push eax
mov ecx, esp
mov dword [esi + 0x210], ecx
mov dword [ecx], 0x44b198
push eax
mov dword [esi + 0x208], esp
push eax
mov ecx, esp
mov dword [esi + 0x228], ecx
mov dword [ecx], 0x44b1a0
push eax
mov dword [esi + 0x220], esp
push eax
mov ecx, esp
mov dword [esi + 0x224], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x21c], ecx
mov dword [ecx], 0x1f
push eax
mov ebx, esp
mov dword [esi + 0x2e0], ebx
mov dword [ebx], 0x44b1a8
push eax
mov dword [esi + 0x2d4], esp
push eax
mov ebx, esp
mov dword [esi + 0x2d8], ebx
mov dword [ebx], 0x44b1b0
push eax
mov dword [esi + 0x2cc], esp
push eax
mov eax, esp
mov dword [esi + 0x2e4], eax
mov dword [eax], 0x44b1b8
push eax
mov dword [esi + 0x2dc], esp
push eax
mov edi, esp
mov dword [esi + 0x2d0], edi
mov dword [edi], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x14], eax
mov dword [eax], 0x2f
push eax
mov ecx, esp
mov dword [esi + 0x2a8], ecx
mov dword [ecx], 0x44b1c0
push eax
mov dword [esi + 0x2a4], esp
push eax
mov ecx, esp
mov dword [esi + 0x2a0], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x29c], ecx
mov dword [ecx], 0x2e
push eax
mov ecx, esp
mov dword [esi + 0x298], ecx
mov dword [ecx], 0x44b1c8
push eax
mov dword [esi + 0x294], esp
push eax
mov ecx, esp
mov dword [esi + 0x290], ecx
mov dword [ecx], 0x44b1d0
push eax
mov dword [esi + 0x28c], esp
push eax
mov ecx, esp
mov dword [esi + 0x288], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x284], ecx
mov dword [ecx], 0x28
push eax
mov ecx, esp
mov dword [esi + 0x280], ecx
mov dword [ecx], 0x44b1d8
push eax
mov dword [esi + 0x27c], esp
push eax
mov ecx, esp
mov dword [esi + 0x278], ecx
mov dword [ecx], 0x44b1e0
push eax
mov dword [esi + 0x274], esp
push eax
mov ecx, esp
mov dword [esi + 0x270], ecx
mov dword [ecx], 0x44b1e8
push eax
mov dword [esi + 0x26c], esp
push eax
mov ecx, esp
mov dword [esi + 0x268], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x264], ecx
mov dword [ecx], 0x2c
push eax
mov ecx, esp
mov dword [esi + 0x260], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x258], ecx
mov dword [ecx], 0x2d
push eax
mov ecx, esp
mov dword [esi + 0x248], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x238], ecx
mov dword [ecx], 0x2e
push eax
mov ecx, esp
mov dword [esi + 0x230], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x22c], ecx
mov dword [ecx], 0x1f
push eax
mov ecx, esp
mov dword [esi + 0x25c], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x24c], ecx
mov dword [ecx], 0x30
push eax
mov ecx, esp
mov dword [esi + 0x254], ecx
mov dword [ecx], 0x44b1f0
push eax
mov dword [esi + 0x244], esp
push eax
mov ecx, esp
mov dword [esi + 0x250], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x240], ecx
mov dword [ecx], 0x32
push eax
mov ecx, esp
mov dword [esi + 0x23c], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x234], ecx
mov dword [ecx], 0x33
push eax
mov ecx, esp
mov dword [esi + 0x2c8], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x2b8], ecx
mov dword [ecx], 0x34
push eax
mov ecx, esp
mov dword [esi + 0x2c0], ecx
mov dword [ecx], 0x44b1f8
push eax
mov dword [esi + 0x2b0], esp
push eax
mov ecx, esp
mov dword [esi + 0x2bc], ecx
mov dword [ecx], case.0x422af5.1
push eax
mov ecx, esp
mov dword [esi + 0x2ac], ecx
mov dword [ecx], 0x36
push eax
mov ecx, esp
mov dword [ecx], case.0x422af5.1
push eax
mov edx, esp
mov dword [esi + 0x2b4], edx
mov dword [edx], 0x37
push eax
mov eax, esp
mov dword [esi + 0x1ac], eax
mov dword [eax], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x1a8], eax
mov dword [eax], 0x17
push eax
mov eax, esp
mov dword [esi + 0x1b4], eax
mov dword [eax], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x1b0], eax
mov dword [eax], 0x1a
push eax
mov edx, esp
mov dword [edx], case.0x422af5.1
push eax
mov ebx, esp
mov dword [esi + 0x214], ebx
mov dword [ebx], 0x21
push eax
mov ebx, esp
mov dword [ebx], case.0x422af5.1
push eax
mov edi, esp
mov dword [esi + 0x204], edi
mov dword [edi], 0x26
push eax
mov edi, esp
mov dword [edi], case.0x422af5.1
push eax
mov eax, esp
mov dword [esi + 0x1f0], eax
mov dword [eax], 0x2a
jmp dword [esi + 0x1bc]