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

Disassembly:
push edi
push eax
add esp, 4
call 0x4224bd
add byte [ebp + 0x37], cl
xor al, 0x3b
dec edi
inc edi
push eax
dec ebp
add esp, 4
add edi, 0x106c3
call 0x4224d2
add byte [ebp + 0x4c], al
inc eax
inc edx
xor ecx, dword [esi - 0x7d]
les eax, [ebx + ebp*8]
add edi, dword [ecx]
dec edi
xor eax, 0x68858d5f
std
invalid
mov edx, dword [ecx]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
cmp eax, dword [ebp - 0x1a8]
je 0x4226a7
mov ecx, dword [ebp - 0x74]
cmp dword [ecx + 0x30], 0
jne 0x4224a9
mov dword [ebp - 0xa8], 0
cmp dword [ebp - 0xa8], 0
jne 0x4226fb
push esi
push ecx
add esp, 4
sub esi, 0x6032
jmp 0x4226cb
xor esi, 0x113a9
sub esi, 0x3998
pop esi
push eax
and eax, 0xa466
and eax, 0xea42
sub eax, 0x15cee
pop eax
mov dword [ebp - 0x138], 0
jmp 0x4230bd
push ebx
add ebx, 0x76c4
jbe 0x422701
add al, ch
pop es
add byte [eax], al
add byte [eax], al
inc esp
inc eax
cmp al, 0x49
xor al, 0x3d
add esp, 4
pop ebx
push edi
push eax
add esp, 4
jmp 0x42271e
pop edi
push edx
sub edx, 0x3c05
xor edx, 0x1296f
pop edx
mov edx, dword [ebp - 0xa8]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0
jne 0x422763
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x64], edx
jmp 0x422a05
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0x58]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x228], ecx
jne 0x422785
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x64], edx
jmp 0x422a05
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0x228]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0
jne 0x4227b4
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x64], ecx
jmp 0x422a05
mov edx, dword [ebp - 0x58]
add edx, dword [ebp - 0x22c]
mov dword [ebp - 0xac], edx
jne 0x4227d3
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x64], eax
jmp 0x422a05
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x58]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0x2e8], edx
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x58]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x58]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0x2f0], eax
mov dword [ebp - 0xb0], 0
jmp 0x422824
mov ecx, dword [ebp - 0xb0]
add ecx, 1
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb0]
cmp eax, dword [edx + 0x18]
jae 0x4229fc
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x58]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x2ec]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x58]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x2f4], edx
mov dword [ebp - 0xc], 0
jmp 0x422885
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0xc]
movsx edx, byte [ecx]
test edx, edx
je 0x422921
mov eax, dword [ebp - 0xc]
movsx ecx, byte [ebp + eax - 0x110]
test ecx, ecx
je 0x422921
push eax
push ebx
add esp, 4
xor eax, 0xe111
or eax, 0x115e8
pop eax
push eax
push eax
add esp, 4
or eax, 0x1f9f
and eax, 0x19ff
xor eax, 0x7526
pop eax
push edi
add edi, 0x48df
pop edi
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xc]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc]
movsx edx, byte [ebp + ecx - 0x110]
cmp eax, edx
je 0x422913
mov eax, dword [ebp - 0xb8]
add eax, dword [ebp - 0xc]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc]
movsx eax, byte [ebp + edx - 0x110]
cmp ecx, eax
jne 0x42291a
jmp 0x42287c
jmp 0x422921
push ecx
push ecx
add esp, 4
add ecx, 0x17a12
and ecx, 0x9fef
or ecx, 0x1618d
or ecx, 0x9fc4
pop ecx
push eax
push ebx
add esp, 4
jmp 0x42294c
and eax, 0x1206e
pop eax
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0xc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc]
movsx ecx, byte [ebp + eax - 0x110]
cmp edx, ecx
jne 0x42297a
mov dword [ebp - 0x1ac], 0
jmp 0x4229e3
push ebx
xor ebx, 0xe7c5
and ebx, 0x16ed9
add ebx, 0xe0f1
xor ebx, 0xc002
pop ebx
push ebx
push edx
add esp, 4
sub ebx, 0xee6c
and ebx, 0x9103
xor ebx, 0x5306
pop ebx
mov edx, dword [ebp - 0xb8]
add edx, dword [ebp - 0xc]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc]
movsx edx, byte [ebp + ecx - 0x110]
or edx, 0x20
cmp eax, edx
jge 0x4229d9
mov dword [ebp - 0x1ac], 0xffffffff
jmp 0x4229e3
mov dword [ebp - 0x1ac], 1
cmp dword [ebp - 0x1ac], 0
jne 0x4229f7
mov eax, dword [ebp - 0x2f4]
mov dword [ebp - 0x64], eax
jmp 0x422a05
jmp 0x422815
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x64], 0
je 0x422aa8
push edx
and edx, 0x108a8
xor edx, 0x2128
jmp 0x422a25
pop edx
push esi
push esi
add esp, 4
jmp 0x422a34
add esi, 0x1166c
or esi, 0x156e9
pop esi
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x2f8], edx
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], eax
lea ecx, [ebp - 0x27c]
push ecx
call dword [ebp - 0x2fc]
test eax, eax
jne 0x422aa8
push ebx
and ebx, 0x17028
or ebx, 0xd475
pop ebx
push ebx
push eax
add esp, 4
xor ebx, 0x70b5
sub ebx, 0x11cb4
call 0x422a95
add byte [edi + ecx*2], bh
inc ebp
cmp bh, byte [eax]
inc esi
dec eax
xor al, 0x83
les eax, [ebx + ebx*2]
mov dword [ebp - 0x138], 0
jmp 0x4230bd
mov edx, dword fs:[0x18]
mov dword [ebp - 0x32c], edx
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x304], ecx
mov edx, dword [ebp - 0x304]
mov dword [ebp - 0x230], edx
push edi
or edi, 0x14dcf
or edi, 0x12ed0
call 0x422aed
add byte [ebp + 0x41], cl
aas
dec eax
xor al, 0x47
dec esi
inc ebp
dec ebx
inc ebx
add esp, 4
pop edi
push eax
push edi
add esp, 4
jmp 0x422afb
add eax, 0xa300
pop eax
cmp dword [ebp - 0x230], 0
jne 0x422b17
mov dword [ebp - 0x48], 0
jmp 0x422d7b
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x1b8], edx
push edx
push edi
add esp, 4
xor edx, 0x77a1
pop edx
push edi
jmp 0x422b3e
xor edi, 0x12860
pop edi
push eax
add eax, 0x18327
jmp 0x422b54
xor eax, 0xff3d
pop eax
cmp dword [ebp - 0x1b8], 0
jne 0x422b70
mov dword [ebp - 0x48], 0
jmp 0x422d7b
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x6c], eax
push edx
push ebx
add esp, 4
and edx, 0xc0fa
call 0x422b91
add byte [edx + eax*2 + 0x3a], cl
dec edx
dec ebx
dec esi
dec ebx
add esp, 4
pop edx
push esi
jmp 0x422b9e
pop esi
push edi
push edi
add esp, 4
xor edi, 0x67e4
pop edi
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x1b4], ecx
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1b0], eax
xor ecx, ecx
mov word [ebp - 0x40], cx
xor edx, edx
mov word [ebp - 0x28], dx
push edx
jmp 0x422bd5
pop edx
push edx
push ecx
add esp, 4
xor edx, 0x11bdf
and edx, 0x16c47
sub edx, 0x6083
call 0x422bfd
add byte [edi], bh
push eax
dec esi
dec edx
dec ecx
cmp al, 0x41
xor eax, 0x4c4834f
pop edx
mov eax, dword [ebp - 0x1b0]
mov cx, word [eax]
mov word [ebp - 0x154], cx
mov edx, dword [ebp - 0x1b0]
add edx, 2
mov dword [ebp - 0x1b0], edx
mov ax, word [ebp - 0x154]
mov word [ebp - 0x40], ax
mov ecx, dword [ebp - 0x1b4]
mov dx, word [ecx]
mov word [ebp - 0x152], dx
mov eax, dword [ebp - 0x1b4]
add eax, 2
mov dword [ebp - 0x1b4], eax
mov cx, word [ebp - 0x152]
mov word [ebp - 0x28], cx
push eax
and eax, 0x30ab
add eax, 0x10f79
sub eax, 0x21f0
sub eax, 0x12d70
pop eax
push edi
push edx
add esp, 4
xor edi, 0xce52
sub edi, 0x57ec
sub edi, 0xaf3d
pop edi
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x422ca1
movzx eax, word [ebp - 0x40]
movzx ecx, word [ebp - 0x28]
sub eax, ecx
mov dword [ebp - 0x238], eax
jmp 0x422cdf
movzx edx, word [ebp - 0x40]
movzx eax, word [ebp - 0x28]
cmp edx, eax
je 0x422bcf
movzx ecx, word [ebp - 0x40]
movzx edx, word [ebp - 0x28]
cmp ecx, edx
jge 0x422cc9
mov dword [ebp - 0x234], 0xffffffff
jmp 0x422cd3
mov dword [ebp - 0x234], 1
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x238], eax
cmp dword [ebp - 0x238], 0
jne 0x422d22
push edx
xor edx, 0x12b4b
xor edx, 0xbc7c
sub edx, 0x16de0
add edx, 0x16452
pop edx
push ebx
push ecx
add esp, 4
add ebx, 0x11cd8
pop ebx
push eax
push eax
add esp, 4
sub eax, 0xdc38
pop eax
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x48], ecx
jmp 0x422d7b
push ecx
call 0x422d30
add byte [edx], bh
cmp bh, byte [ecx + eax*2]
inc esp
dec edi
add esp, 4
add ecx, 0xa5cd
or ecx, 0x15fa5
or ecx, 0x8cee
pop ecx
push edi
sub edi, 0xfcb2
or edi, 0xb488
pop edi
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x1b8]
je 0x422d74
mov edx, dword [ebp - 0x6c]
cmp dword [edx + 0x30], 0
jne 0x422b79
mov dword [ebp - 0x48], 0
push edx
push esi
add esp, 4
call 0x422d8f
add byte [edx + 0x35], cl
inc eax
inc esp
xor al, 0x42
inc edi
inc ecx
dec eax
add esp, 4
jmp 0x422d9a
call 0x422da9
add byte [ebx + 0x3c], al
inc esp
cmp eax, 0x41404c40
cmp al, 0x83
les eax, [edx + ebx*2]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x4c], ecx
push eax
add eax, 0x14114
and eax, 0x6bc6
jmp 0x422dc9
and eax, 0x656c
pop eax
push edi
jmp 0x422dd9
jmp 0x422de1
or edi, 0xab82
pop edi
mov dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0
jne 0x422e12
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x80], eax
jmp 0x4230b4
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x4c]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x240], edx
jne 0x422e34
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x80], eax
jmp 0x4230b4
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x244], ecx
cmp dword [ebp - 0x244], 0
jne 0x422e63
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x80], edx
jmp 0x4230b4
mov eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x244]
mov dword [ebp - 0xc0], eax
jne 0x422e82
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x80], ecx
jmp 0x4230b4
mov edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0x4c]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x308], eax
mov ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x4c]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x4c]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x310], ecx
mov dword [ebp - 0x94], 0
jmp 0x422ed3
mov edx, dword [ebp - 0x94]
add edx, 1
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0x94]
cmp ecx, dword [eax + 0x18]
jae 0x4230ab
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x4c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x30c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x4c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x10], 0
jmp 0x422f34
mov ecx, dword [ebp - 0x10]
add ecx, 1
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x98]
add edx, dword [ebp - 0x10]
movsx eax, byte [edx]
test eax, eax
je 0x422fd0
mov ecx, dword [ebp - 0x10]
movsx edx, byte [ebp + ecx - 0x120]
test edx, edx
je 0x422fd0
push ebx
push esi
add esp, 4
and ebx, 0x8e71
sub ebx, 0x175d9
add ebx, 0x89c0
pop ebx
push edi
add edi, 0xfdcf
sub edi, 0x1651e
pop edi
push esi
push edx
add esp, 4
xor esi, 0xb679
pop esi
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x10]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x120]
cmp ecx, eax
je 0x422fc2
mov ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x10]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x10]
movsx ecx, byte [ebp + eax - 0x120]
cmp edx, ecx
jne 0x422fc9
jmp 0x422f2b
jmp 0x422fd0
push edi
add edi, 0x13dc3
add edi, 0x40
xor edi, 0x10627
pop edi
push esi
push ebx
add esp, 4
add esi, 0x7a9b
xor esi, 0x3e4a
or esi, 0x172eb
sub esi, 0xb823
pop esi
mov edx, dword [ebp - 0x98]
add edx, dword [ebp - 0x10]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x10]
movsx edx, byte [ebp + ecx - 0x120]
cmp eax, edx
jne 0x423029
mov dword [ebp - 0x1bc], 0
jmp 0x423092
push esi
push ebx
add esp, 4
and esi, 0xbcfd
pop esi
push eax
push edi
add esp, 4
sub eax, 0x168f5
add eax, 0x844e
pop eax
push edi
call 0x423057
add byte [ecx + 0x48], al
inc esi
push eax
aaa
xor al, 0x41
dec esp
inc esi
add esp, 4
pop edi
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0x10]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x120]
or eax, 0x20
cmp ecx, eax
jge 0x423088
mov dword [ebp - 0x1bc], 0xffffffff
jmp 0x423092
mov dword [ebp - 0x1bc], 1
cmp dword [ebp - 0x1bc], 0
jne 0x4230a6
mov ecx, dword [ebp - 0x314]
mov dword [ebp - 0x80], ecx
jmp 0x4230b4
jmp 0x422ec4
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x138], eax
push ebx
push esi
add esp, 4
sub ebx, 0x5d6b
pop ebx
push ebx
sub ebx, 0x13995
and ebx, 0xd130
xor ebx, 0x1584e
add ebx, 0xecfc
pop ebx
push ebx
push ecx
add esp, 4
add ebx, 0x131c7
pop ebx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x318], ecx
lea edx, [ebp - 0x1c0]
push edx
push 0x40
invalid
invalid
invalid