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

Disassembly:
inc esp
inc ecx
inc esi
sub edx, 0xdb48
pop edx
push esi
push ebx
add esp, 4
and esi, 0xb78d
lea esi, [edi - 0x97f0000]
sbb bl, cl
add byte [eax], al
jmp 0x645d6a1b
pop esi
cmp dword [ebp - 0x1910], 0
jne 0x645d6a34
mov dword [ebp - 0x398], 0
jmp 0x645d6cf0
mov ecx, dword [ebp - 0x1910]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xeb4], eax
push ebx
call 0x645d6a53
add byte [edx], bh
cmp cl, byte [ebp + 0x46]
cmp bh, byte [ecx]
add esp, 4
jmp 0x645d6a5d
and ebx, 0x19df
pop ebx
push ebx
sub ebx, 0x5c6f
pop ebx
push ecx
push esi
add esp, 4
add ecx, 0xb61b
pop ecx
cmp dword [ebp - 0xeb4], 0
jne 0x645d6a90
mov dword [ebp - 0x398], 0
jmp 0x645d6cf0
mov ecx, dword [ebp - 0xeb4]
mov dword [ebp - 0x5cc], ecx
push edi
push esi
add esp, 4
xor edi, 0x17081
add edi, 0xb219
xor edi, 0x8168
pop edi
push edi
add edi, 0xc82e
sub edi, 0x9174
pop edi
push edx
push edi
add esp, 4
and edx, 0xac3c
pop edx
lea edx, [ebp - 0x1a68]
mov dword [ebp - 0xeb0], edx
mov eax, dword [ebp - 0x5cc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xeac], ecx
xor edx, edx
mov word [ebp - 0x26c], dx
xor eax, eax
mov word [ebp - 0x140], ax
push esi
push ecx
add esp, 4
call 0x645d6b0c
add byte [ecx + 0x49], cl
dec ecx
cmp eax, 0xc483504a
add al, 0x81
out dx, al
arpl word [edx], si
add dword [eax], eax
jmp 0x645d6b1b
call 0x645d6b29
add byte [ecx + edi], bh
dec esp
aas
xor al, byte [edi + 0x50]
cmp byte [ebx - 0x74a1fb3c], al
lea edx, [ecx + esi*8 - 1]
jmp dword [esi - 0x75]
push ebx
sub ebx, 0xcd36
sub ebx, 0x1281f
xor ebx, 0x15af0
pop ebx
push edi
jmp 0x645d6d0e
call 0x645d6d1e
add byte [edi + 0x48], al
inc edx
dec ecx
dec eax
dec edi
aas
aaa
add esp, 4
pop edi
mov eax, dword [ebp - 0x398]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x3ac], ecx
push esi
push edx
add esp, 4
xor esi, 0x7f8e
pop esi
push eax
or eax, 0x18511
sub eax, 0xc6de
xor eax, 0x1857
or eax, 0x16b56
pop eax
push edi
push eax
add esp, 4
or edi, 0xd9f4
pop edi
mov dword [ebp - 0x890], 0
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x191c], edx
cmp dword [ebp - 0x191c], 0
jne 0x645d6d93
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], eax
jmp 0x645d7084
mov ecx, dword [ebp - 0x191c]
mov edx, dword [ebp - 0x3ac]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1920], edx
jne 0x645d6dbb
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], eax
jmp 0x645d7084
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1920]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1924], ecx
cmp dword [ebp - 0x1924], 0
jne 0x645d6ded
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], edx
jmp 0x645d7084
mov eax, dword [ebp - 0x3ac]
add eax, dword [ebp - 0x1924]
mov dword [ebp - 0x884], eax
jne 0x645d6e12
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], ecx
jmp 0x645d7084
mov edx, dword [ebp - 0x884]
mov eax, dword [ebp - 0x3ac]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x26d4], eax
mov ecx, dword [ebp - 0x884]
mov edx, dword [ebp - 0x3ac]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x26d8], edx
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x3ac]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1f3c], ecx
mov dword [ebp - 0x888], 0
jmp 0x645d6e6c
mov edx, dword [ebp - 0x888]
add edx, 1
mov dword [ebp - 0x888], edx
mov eax, dword [ebp - 0x884]
mov ecx, dword [ebp - 0x888]
cmp ecx, dword [eax + 0x18]
jae 0x645d7078
mov edx, dword [ebp - 0x888]
mov eax, dword [ebp - 0x26d4]
mov ecx, dword [ebp - 0x3ac]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x888]
mov eax, dword [ebp - 0x26d8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1f3c]
mov eax, dword [ebp - 0x3ac]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1f40], eax
mov dword [ebp - 0x1dc], 0
jmp 0x645d6edc
mov ecx, dword [ebp - 0x1dc]
add ecx, 1
mov dword [ebp - 0x1dc], ecx
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x1dc]
movsx eax, byte [edx]
test eax, eax
je 0x645d6f8e
mov ecx, dword [ebp - 0x1dc]
movsx edx, byte [ebp + ecx - 0x9c0]
test edx, edx
je 0x645d6f8e
push edx
and edx, 0x169dd
pop edx
push ebx
push eax
add esp, 4
add ebx, 0x585c
sub ebx, 0x130a5
call 0x645d6f2f
add byte [eax + 0x40], cl
inc ebp
dec ebx
cmp eax, 0xc4834040
add al, 0xeb
push es
xor cl, byte [edx + 0x4a]
dec ebp
inc esi
aaa
pop ebx
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x1dc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1dc]
movsx eax, byte [ebp + edx - 0x9c0]
cmp ecx, eax
je 0x645d6f80
mov ecx, dword [ebp - 0x88c]
add ecx, dword [ebp - 0x1dc]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x1dc]
movsx ecx, byte [ebp + eax - 0x9c0]
cmp edx, ecx
jne 0x645d6f87
jmp 0x645d6ecd
jmp 0x645d6f8e
push edx
sub edx, 0xfb3b
add edx, 0x16635
and edx, 0x10be0
pop edx
push eax
add eax, 0x15d0d
jmp 0x645d6fb2
or eax, 0xfe8d
pop eax
push esi
jmp 0x645d6fbf
pop esi
mov edx, dword [ebp - 0x88c]
add edx, dword [ebp - 0x1dc]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x1dc]
movsx edx, byte [ebp + ecx - 0x9c0]
cmp eax, edx
jne 0x645d6fed
mov dword [ebp - 0xeb8], 0
jmp 0x645d705c
push edi
add edi, 0x88f2
sub edi, 0x1451d
and edi, 0x6479
pop edi
push ebx
and ebx, 0xfa7f
jmp 0x645d7011
pop ebx
push eax
jmp 0x645d7018
sub eax, 0x14e96
pop eax
mov eax, dword [ebp - 0x88c]
add eax, dword [ebp - 0x1dc]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x1dc]
movsx eax, byte [ebp + edx - 0x9c0]
or eax, 0x20
cmp ecx, eax
jge 0x645d7052
mov dword [ebp - 0xeb8], 0xffffffff
jmp 0x645d705c
mov dword [ebp - 0xeb8], 1
cmp dword [ebp - 0xeb8], 0
jne 0x645d7073
mov ecx, dword [ebp - 0x1f40]
mov dword [ebp - 0x5d0], ecx
jmp 0x645d7084
jmp 0x645d6e5d
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d0]
mov dword [ebp - 0x8bc], eax
push esi
push edx
add esp, 4
xor esi, 0x486a
pop esi
push esi
push ebx
add esp, 4
or esi, 0x165b8
pop esi
push esi
push ebx
add esp, 4
jmp 0x645d70b3
jmp 0x645d70bb
and esi, 0xf04f
pop esi
mov ecx, dword [ebp - 0x494]
add ecx, 0xe
mov dword [ebp - 0x1f8c], ecx
push edi
push ebx
add esp, 4
add edi, 0xf8b3
pop edi
push esi
push esi
add esp, 4
jmp 0x645d70ea
and esi, 0x6bca
sub esi, 0x163f
pop esi
push ebx
push ebx
add esp, 4
sub ebx, 0x115e6
pop ebx
cmp dword [ebp - 0x494], 0
je 0x645d7115
cmp dword [ebp - 0xbfc], 0
jne 0x645d715b
push esi
and esi, 0x15306
add esi, 0xbd5a
sub esi, 0x8f5e
pop esi
push esi
push edx
add esp, 4
add esi, 0x6f25
xor esi, 0xf231
sub esi, 0x428f
add esi, 0x1196a
pop esi
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x1f44], edx
push 0
call dword [ebp - 0x1f44]
mov dword [ebp - 0x2780], 0xa
push edi
push edx
add esp, 4
call 0x645d7179
add byte [ebx], bh
xor eax, 0x354f3234
xor eax, 0xc4833e43
add al, 0x81
out 0xdf, eax
or eax, 0xf7810000
leave
mov dl, 0
add byte [edi + 0x50], bl
jmp 0x645d7190
or eax, 0x153b3
pop eax
mov eax, dword [ebp - 0x494]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x446], cl
mov edx, dword [ebp - 0xbfc]
sub edx, dword [ebp - 0x494]
mov dword [ebp - 0x19a8], edx
mov dword [ebp - 0xee8], 0
push ecx
sub ecx, 0x16d96
call 0x645d71d5
add byte [eax + 0x4e], dl
cmp byte [ebp + 0x49], al
push eax
add esp, 4
call 0x645d71e4
add byte [ecx + 0x4d], cl
cmp eax, dword [esi + 0x35]
cmp dword [ebx + 0x535904c4], eax
push ecx
add esp, 4
and ebx, 0x2bef
pop ebx
mov byte [ebp - 0xb5c], 0x56
mov byte [ebp - 0xb5b], 0x69
mov byte [ebp - 0xb5a], 0x72
mov byte [ebp - 0xb59], 0x74
mov byte [ebp - 0xb58], 0x75
mov byte [ebp - 0xb57], 0x61
mov byte [ebp - 0xb56], 0x6c
mov byte [ebp - 0xb55], 0x50
mov byte [ebp - 0xb54], 0x72
mov byte [ebp - 0xb53], 0x6f
mov byte [ebp - 0xb52], 0x74
mov byte [ebp - 0xb51], 0x65
mov byte [ebp - 0xb50], 0x63
mov byte [ebp - 0xb4f], 0x74
mov byte [ebp - 0xb4e], 0
push ebx
jmp 0x645d7267
and ebx, 0x179e7
add ebx, 0xc233
call 0x645d727f
add byte [eax], bh
inc edi
inc esi
dec esp
add esp, 4
pop ebx
push eax
push ebx
add esp, 4
add eax, 0x16275
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1f48], eax
mov ecx, dword [ebp - 0x1f48]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1f4c], edx
mov eax, dword [ebp - 0x1f4c]
mov dword [ebp - 0x1928], eax
push ebx
call 0x645d72c7
add byte [eax + 0x37], cl
inc ebp
inc ebx
inc eax
cmp dword [edx + 0x48], eax
inc esp
cmp al, byte [ebx + 0x9e804c4]
add byte [eax], al
add byte [eax], al
aas
push eax
xor eax, 0x39383f4d
xor eax, dword [ebx + 0x565b04c4]
push edi
add esp, 4
sub esi, 0xf56
pop esi
cmp dword [ebp - 0x1928], 0
jne 0x645d7300
mov dword [ebp - 0x394], 0
jmp 0x645d75a7
mov ecx, dword [ebp - 0x1928]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xec4], eax
push ecx
add ecx, 0x5a94
xor ecx, 0x161f4
sub ecx, 0x67a1
xor ecx, 0xfaa6
pop ecx
push ecx
push esi
add esp, 4
or ecx, 0x11cb9
sub ecx, 0x1102b
xor ecx, 0x7851
pop ecx
cmp dword [ebp - 0xec4], 0
jne 0x645d735c
mov dword [ebp - 0x394], 0
jmp 0x645d75a7
mov ecx, dword [ebp - 0xec4]
mov dword [ebp - 0x5d4], ecx
push eax
or eax, 0x97b3
call 0x645d737f
add byte [ebx], dh
xor eax, 0x40404950
xor edi, dword ds:[esp + eax*2]
add esp, 4
xor eax, 0x106f
pop eax
push eax
jmp 0x645d7392
jmp 0x645d7399
pop eax
lea edx, [ebp - 0x1a68]
mov dword [ebp - 0xec0], edx
mov eax, dword [ebp - 0x5d4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xebc], ecx
xor edx, edx
mov word [ebp - 0x270], dx
xor eax, eax
mov word [ebp - 0x40], ax
push ecx
add ecx, 0x183a0
add ecx, 0xf886
or ecx, 0x7f57
sub ecx, 0x8914
pop ecx
push ecx
push edi
add esp, 4
add ecx, 0x18101
add ecx, 0x13321
sub ecx, 0xfe3e
pop ecx
mov ecx, dword [ebp - 0xebc]
mov dx, word [ecx]
mov word [ebp - 0x12ba], dx
mov eax, dword [ebp - 0xebc]
add eax, 2
mov dword [ebp - 0xebc], eax
mov cx, word [ebp - 0x12ba]
mov word [ebp - 0x270], cx
mov edx, dword [ebp - 0xec0]
mov ax, word [edx]
mov word [ebp - 0x12bc], ax
mov ecx, dword [ebp - 0xec0]
add ecx, 2
mov dword [ebp - 0xec0], ecx
mov dx, word [ebp - 0x12bc]
mov word [ebp - 0x40], dx
push esi
push esi
add esp, 4
and esi, 0x3d03
add esi, 0x13581
sub esi, 0x25dc
pop esi
push ecx
sub ecx, 0x961a
pop ecx
push eax
push ebx
add esp, 4
add eax, 0x348a
and eax, 0x124bb
pop eax
movzx eax, word [ebp - 0x40]
test eax, eax
jne 0x645d749c
movzx ecx, word [ebp - 0x270]
movzx edx, word [ebp - 0x40]
sub ecx, edx
mov dword [ebp - 0x1930], ecx
jmp 0x645d74f6
movzx eax, word [ebp - 0x270]
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x645d73c4
movzx edx, word [ebp - 0x270]
xor edx, 0x20
movzx eax, word [ebp - 0x40]
cmp edx, eax
je 0x645d73c4
movzx ecx, word [ebp - 0x270]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
jge 0x645d74e0
mov dword [ebp - 0x192c], 0xffffffff
jmp 0x645d74ea
mov dword [ebp - 0x192c], 1
mov eax, dword [ebp - 0x192c]
mov dword [ebp - 0x1930], eax
cmp dword [ebp - 0x1930], 0
jne 0x645d753f
push edi
add edi, 0x55e6
xor edi, 0x2f41
xor edi, 0x12074
pop edi
push edi
push eax
add esp, 4
and edi, 0x6f7e
pop edi
push eax
push edi
add esp, 4
sub eax, 0x16408
or eax, 0x3d61
pop eax
mov ecx, dword [ebp - 0x5d4]
mov dword [ebp - 0x394], ecx
jmp 0x645d75a7
push eax
push ecx
add esp, 4
xor eax, 0x1b57
and eax, 0x4908
and eax, 0xce01
pop eax
push edi
push ecx
add esp, 4
or edi, 0xe83c
jmp 0x645d756a
and edi, 0x14f66
pop edi
mov edx, dword [ebp - 0x5d4]
mov eax, dword [edx]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d4]
cmp ecx, dword [ebp - 0xec4]
je 0x645d759d
mov edx, dword [ebp - 0x5d4]
cmp dword [edx + 0x30], 0
jne 0x645d7368
mov dword [ebp - 0x394], 0
push edx
push ecx
add esp, 4
sub edx, 0x13983
xor edx, 0x532b
xor edx, 0xbaf6
pop edx
push ecx
or ecx, 0x156d
add ecx, 0xfc69
pop ecx
push eax
push ecx
add esp, 4
and eax, 0xd2bb
pop eax
cmp dword [ebp - 0x394], 0
jne 0x645d7ede
mov eax, 0x6b
mov word [ebp - 0x1ae4], ax
mov ecx, 0x65
mov word [ebp - 0x1ae2], cx
mov edx, 0x72
mov word [ebp - 0x1ae0], dx
mov eax, 0x6e
mov word [ebp - 0x1ade], ax
mov ecx, 0x65
mov word [ebp - 0x1adc], cx
mov edx, 0x6c
mov word [ebp - 0x1ada], dx
mov eax, 0x33
mov word [ebp - 0x1ad8], ax
mov ecx, 0x32
mov word [ebp - 0x1ad6], cx
mov edx, 0x2e
mov word [ebp - 0x1ad4], dx
mov eax, 0x64
mov word [ebp - 0x1ad2], ax
mov ecx, 0x6c
mov word [ebp - 0x1ad0], cx
mov edx, 0x6c
mov word [ebp - 0x1ace], dx
xor eax, eax
mov word [ebp - 0x1acc], ax
push ebx
push edi
add esp, 4
sub ebx, 0xf6cd
jmp 0x645d7691
or ebx, 0x13c57
call 0x645d76a5
add byte [esi + 0x44], cl
inc eax
inc ebp
dec esp
cmp al, 0x3a
add esp, 4
pop ebx
push edi
and edi, 0x6558
pop edi
mov byte [ebp - 0xafc], 0x4c
mov byte [ebp - 0xafb], 0x6f
mov byte [ebp - 0xafa], 0x61
mov byte [ebp - 0xaf9], 0x64
mov byte [ebp - 0xaf8], 0x4c
mov byte [ebp - 0xaf7], 0x69
mov byte [ebp - 0xaf6], 0x62
mov byte [ebp - 0xaf5], 0x72
mov byte [ebp - 0xaf4], 0x61
mov byte [ebp - 0xaf3], 0x72
mov byte [ebp - 0xaf2], 0x79
mov byte [ebp - 0xaf1], 0x57
mov byte [ebp - 0xaf0], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1f50], ecx
mov edx, dword [ebp - 0x1f50]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1f54], eax
mov ecx, dword [ebp - 0x1f54]
mov dword [ebp - 0x1934], ecx
push edx
push ebx
add esp, 4
call 0x645d7747
add byte [edx], dh
cmp al, byte [ebp + 0x44]
inc edx
xor al, 0x42
dec eax
add esp, 4
jmp 0x645d7752
jmp 0x645d7759
pop edx
push esi
push ecx
add esp, 4
sub esi, 0xd827
pop esi
cmp dword [ebp - 0x1934], 0
jne 0x645d777e
mov dword [ebp - 0x894], 0
jmp 0x645d7a25
mov edx, dword [ebp - 0x1934]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xed0], ecx
push ecx
xor ecx, 0x170c7
call 0x645d77a4
add byte [eax + 0x3b], al
push eax
inc edi
inc ecx
dec esp
cmp al, byte [ebx + 0x575904c4]
and edi, 0x163ed
add edi, 0x111a0
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x2a7c
pop ecx
cmp dword [ebp - 0xed0], 0
jne 0x645d77da
mov dword [ebp - 0x894], 0
jmp 0x645d7a25
mov edx, dword [ebp - 0xed0]
mov dword [ebp - 0x5d8], edx
push ebx
add ebx, 0x10fc7
and ebx, 0x9f5e
add ebx, 0xe9cc
pop ebx
push esi
push ebx
add esp, 4
or esi, 0x75b1
add esi, 0xbd0f
pop esi
push esi
push esi
add esp, 4
and esi, 0x161f9
pop esi
lea eax, [ebp - 0x1ae4]
mov dword [ebp - 0xecc], eax
mov ecx, dword [ebp - 0x5d8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xec8], edx
xor eax, eax
mov word [ebp - 0x274], ax
xor ecx, ecx
mov word [ebp - 0x44], cx
push esi
push eax
add esp, 4
or esi, 0x1389c
jmp 0x645d7854
pop esi
push esi
or esi, 0x1865f
xor esi, 0x2cd3
call 0x645d7870
add byte [edi], bh
cmp bh, byte [ebx]
dec eax
cmp cl, byte [edx + 0x47]
dec ebp
add esp, 4
pop esi
mov edx, dword [ebp - 0xec8]
mov ax, word [edx]
mov word [ebp - 0x12be], ax
mov ecx, dword [ebp - 0xec8]
add ecx, 2
mov dword [ebp - 0xec8], ecx
mov dx, word [ebp - 0x12be]
mov word [ebp - 0x274], dx
mov eax, dword [ebp - 0xecc]
mov cx, word [eax]
mov word [ebp - 0x12c0], cx
mov edx, dword [ebp - 0xecc]
add edx, 2
mov dword [ebp - 0xecc], edx
mov ax, word [ebp - 0x12c0]
mov word [ebp - 0x44], ax
push esi
call 0x645d78da
add byte [esi], bh
aaa
dec ebx
dec ebp
push eax
cmp eax, 0x4c48350
pop esi
push edi
sub edi, 0xaad6
jmp 0x645d78ea
xor edi, 0xda65
pop edi
push eax
push edi
add esp, 4
or eax, 0x1a98
pop eax
movzx ecx, word [ebp - 0x44]
test ecx, ecx
jne 0x645d791a
movzx edx, word [ebp - 0x274]
movzx eax, word [ebp - 0x44]
sub edx, eax
mov dword [ebp - 0x193c], edx
jmp 0x645d7974
movzx ecx, word [ebp - 0x274]
movzx edx, word [ebp - 0x44]
cmp ecx, edx
je 0x645d7842
movzx eax, word [ebp - 0x274]
xor eax, 0x20
movzx ecx, word [ebp - 0x44]
cmp eax, ecx
je 0x645d7842
movzx edx, word [ebp - 0x274]
movzx eax, word [ebp - 0x44]
cmp edx, eax
jge 0x645d795e
mov dword [ebp - 0x1938], 0xffffffff
jmp 0x645d7968
mov dword [ebp - 0x1938], 1
mov ecx, dword [ebp - 0x1938]
mov dword [ebp - 0x193c], ecx
cmp dword [ebp - 0x193c], 0
jne 0x645d79bd
push ebx
push ecx
add esp, 4
call 0x645d798f
add byte [edx], dh
aaa
dec edx
inc esi
inc esp
push eax
add esp, 4
jmp 0x645d799a
pop ebx
push ebx
push eax
add esp, 4
sub ebx, 0x589b
pop ebx
push edx
jmp 0x645d79ae
pop edx
mov edx, dword [ebp - 0x5d8]
mov dword [ebp - 0x894], edx
jmp 0x645d7a25
push ebx
sub ebx, 0xddc3
xor ebx, 0x5cb7
sub ebx, 0x1df3
pop ebx
push ebx
push edi
add esp, 4
xor ebx, 0x877b
sub ebx, 0xabee
xor ebx, 0x35ab
and ebx, 0xc29
pop ebx
mov eax, dword [ebp - 0x5d8]
mov ecx, dword [eax]
mov dword [ebp - 0x5d8], ecx
mov edx, dword [ebp - 0x5d8]
cmp edx, dword [ebp - 0xed0]
je 0x645d7a1b
mov eax, dword [ebp - 0x5d8]
cmp dword [eax + 0x30], 0
jne 0x645d77e6
mov dword [ebp - 0x894], 0
push eax
push edi
add esp, 4
call 0x645d7a37
add byte [edx + 0x3d], al
dec edi
inc esi
xor eax, dword [eax + 0x41]
add esp, 4
or eax, 0xe57f
pop eax
push esi
and esi, 0x163a4
sub esi, 0x16d34
pop esi
push edi
and edi, 0x142ad
pop edi
cmp dword [ebp - 0x894], 0
jne 0x645d7aa1
push ebx
or ebx, 0x17504
jmp 0x645d7a6c
jmp 0x645d7a74
pop ebx
push ecx
push esi
add esp, 4
call 0x645d7a88
add byte [0x3a454e41], dh
inc ebp
inc esp
dec eax
add esp, 4
sub ecx, 0x75c7
pop ecx
mov dword [ebp - 0xbf8], 0
jmp 0x645d85c9
push eax
push edx
add esp, 4
or eax, 0xb325
xor eax, 0x9af2
pop eax
push edi
and edi, 0x5b91
jmp 0x645d7ac0
pop edi
push eax
push ebx
add esp, 4
or eax, 0x101a9
or eax, 0xc563
pop eax
mov ecx, dword [ebp - 0x894]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3d0], edx
mov dword [ebp - 0x8a4], 0
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1980], eax
cmp dword [ebp - 0x1980], 0
jne 0x645d7b12
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], ecx
jmp 0x645d7e03
mov edx, dword [ebp - 0x1980]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1984], eax
jne 0x645d7b3a
mov ecx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], ecx
jmp 0x645d7e03
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1984]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1988], edx
cmp dword [ebp - 0x1988], 0
jne 0x645d7b6c
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], eax
jmp 0x645d7e03
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [ebp - 0x1988]
mov dword [ebp - 0x898], ecx
jne 0x645d7b91
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], edx
jmp 0x645d7e03
mov eax, dword [ebp - 0x898]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1f58], ecx
mov edx, dword [ebp - 0x898]
mov eax, dword [ebp - 0x3d0]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x2364], eax
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1f5c], edx
mov dword [ebp - 0x89c], 0
jmp 0x645d7beb
mov eax, dword [ebp - 0x89c]
add eax, 1
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x89c]
cmp edx, dword [ecx + 0x18]
jae 0x645d7df7
mov eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0x1f58]
mov edx, dword [ebp - 0x3d0]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x89c]
mov ecx, dword [ebp - 0x2364]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1f5c]
mov ecx, dword [ebp - 0x3d0]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1f60], ecx
mov dword [ebp - 0x1e0], 0
add byte [eax], al
jmp 0x645d7c5b
mov edx, dword [ebp - 0x1e0]
add edx, 1
mov dword [ebp - 0x1e0], edx
mov eax, dword [ebp - 0x8a0]
add eax, dword [ebp - 0x1e0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x645d7d0d
mov edx, dword [ebp - 0x1e0]
movsx eax, byte [ebp + edx - 0xafc]
test eax, eax
je 0x645d7d0d
push eax
call 0x645d7c99
add byte [eax + 0x34], dl
dec edi
aaa
xor eax, 0x4046353b
dec esi
add esp, 4
jmp 0x645d7ca4
sub eax, 0xa9e0
jmp 0x645d7cb1
pop eax
push eax
or eax, 0x9df2
pop eax
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x1e0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1e0]
movsx ecx, byte [ebp + eax - 0xafc]
cmp edx, ecx
je 0x645d7cff
mov edx, dword [ebp - 0x8a0]
add edx, dword [ebp - 0x1e0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1e0]
movsx edx, byte [ebp + ecx - 0xafc]
cmp eax, edx
jne 0x645d7d06
jmp 0x645d7c4c
jmp 0x645d7d0d
push ecx
push esi
add esp, 4
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [edi], bh
xor ecx, dword [eax + 0x3d]
cmp ecx, dword [ecx + 0x38]
add esp, 4
xor ecx, 0x54ca
call 0x645d7d35
add byte [edx], bh
dec ebp
aas
inc eax
dec eax
cmp bh, byte [esi]
add esp, 4
and ecx, 0x7c86
pop ecx
mov eax, dword [ebp - 0x8a0]
add eax, dword [ebp - 0x1e0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1e0]
movsx eax, byte [ebp + edx - 0xafc]
cmp ecx, eax
jne 0x645d7d6c
mov dword [ebp - 0xed4], 0
jmp 0x645d7ddb
push eax
push edx
add esp, 4
and eax, 0x1e8a
and eax, 0x3419
and eax, 0x17e46
pop eax
push edx
push ecx
add esp, 4
or edx, 0xe2a0
sub edx, 0x22d7
pop edx
push edi
or edi, 0x9a42
pop edi
mov ecx, dword [ebp - 0x8a0]
add ecx, dword [ebp - 0x1e0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1e0]
movsx ecx, byte [ebp + eax - 0xafc]
or ecx, 0x20
cmp edx, ecx
jge 0x645d7dd1
mov dword [ebp - 0xed4], 0xffffffff
jmp 0x645d7ddb
mov dword [ebp - 0xed4], 1
cmp dword [ebp - 0xed4], 0
jne 0x645d7df2
mov edx, dword [ebp - 0x1f60]
mov dword [ebp - 0x490], edx
jmp 0x645d7e03
jmp 0x645d7bdc
mov eax, dword [ebp - 0x8a4]
mov dword [ebp - 0x490], eax
cmp dword [ebp - 0x490], 0
je 0x645d7ede
push edi
jmp 0x645d7e17
call 0x645d7e25
add byte [eax], bh
inc ebx
inc ebp
xor edi, dword [edi]
dec edi
cmp al, byte [ebx + 0xbe804c4]
add byte [eax], al
add byte [eax], al
dec ebp
dec ecx
dec esp
inc edx
push eax
inc edx
cmp ecx, dword [edx + eax*2 - 0x7d]
les eax, [ecx + eax*4]
out 0x7f, eax
xchg esp, eax
add byte [eax], al
pop edi
mov ecx, dword [ebp - 0x490]
mov dword [ebp - 0x1f64], ecx
push edi
push edi
add esp, 4
xor edi, 0x13153
pop edi
push edx
push eax
add esp, 4
jmp 0x645d7e67
pop edx
push ebx
push ecx
add esp, 4
add ebx, 0x756e
and ebx, 0xf50d
xor ebx, 0xedf1
pop ebx
mov edx, dword [ebp - 0x1f64]
mov dword [ebp - 0x1f68], edx
lea eax, [ebp - 0x1a68]
push eax
call dword [ebp - 0x1f68]
test eax, eax
jne 0x645d7ede
push esi
push eax
add esp, 4
or esi, 0x9558
xor esi, 0x55b7
xor esi, 0x3c19
sub esi, 0x7686
pop esi
push edi
jmp 0x645d7ec2
and edi, 0x12c50
sub edi, 0x9cf1
pop edi
mov dword [ebp - 0xbf8], 0
jmp 0x645d85c9
push edx
push eax
add esp, 4
xor edx, 0x13a3
call 0x645d7ef9
add byte [eax + 0x4e], cl
inc ecx
cmp byte [eax + 0x3d], cl
inc edx
dec edi
xor eax, 0x4c48344
call 0x645d7f0c
add byte [ecx + 0x4f], cl
dec edi
inc edx
inc ebp
aas
inc ebx
cmp cl, byte [ebp - 0x7d]
les eax, [edx + ebx*2]
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1f6c], ecx
mov edx, dword [ebp - 0x1f6c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1f70], eax
mov ecx, dword [ebp - 0x1f70]
mov dword [ebp - 0x1990], ecx
push esi
jmp 0x645d7f3f
or esi, 0x1018b
add esi, 0xdd8f
xor esi, 0x8e32
pop esi
push ecx
push ebx
add esp, 4
or ecx, 0x7cba
sub ecx, 0x383f
jmp 0x645d7f69
pop ecx
cmp dword [ebp - 0x1990], 0
jne 0x645d7f82
mov dword [ebp - 0x394], 0
jmp 0x645d8229
mov edx, dword [ebp - 0x1990]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xee0], ecx
push edx
add edx, 0x1f02
or edx, 0x143be
add edx, 0x16db8
or edx, 0x1443c
pop edx
push edx
push ecx
add esp, 4
add edx, 0x37fd
and edx, 0xeb55
sub edx, 0x17c7d
pop edx
cmp dword [ebp - 0xee0], 0
jne 0x645d7fde
invalid
test dword [esp + edi*8 - 1], ebp
inc dword [eax]
add byte [eax], al