Function at 0x1004d55e
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov edi, dword [ebp + 8]
mov eax, 0xbe04f3f3
cmp eax, 0xefc1d6fe
jle 0x1004d5aa
cmp eax, 0x3650bb1f
jle 0x1004d5e1
cmp eax, 0x6d834329
jg 0x1004d65f
cmp eax, 0x3650bb20
je 0x1004d72f
cmp eax, 0x3ea92cc0
je 0x1004d829
cmp eax, 0x3e827cba
jne 0x1004d56f
jmp 0x1004e956
cmp eax, 0xa97ec21d
jg 0x1004d623
cmp eax, 0xa0f7d278
jg 0x1004d683
cmp eax, 0x88560ff7
je 0x1004d83b
cmp eax, 0x93683b2e
jne 0x1004d56f
cmp byte [ebp - 0x29], 0
mov eax, 0xeb3acd14
mov ecx, 0x3379e4f4
cmovne eax, ecx
jmp 0x1004d56f
cmp eax, 0x18571cfd
jg 0x1004d6a3
cmp eax, 0xefc1d6ff
je 0x1004d699
cmp eax, 0x57c68f0
jne 0x1004d56f
mov ecx, dword [ebp - 0x50]
call fcn.1002d5ea
call eax
mov ecx, dword [ebp - 0x3c]
push edi
push eax
call ecx
test eax, eax
mov eax, 0xa97ec21e
setne byte [ebp - 0x2a]
jmp 0x1004d56f
cmp eax, 0xe8e4d693
jg 0x1004d6c9
cmp eax, 0xa97ec21e
je 0x1004d84b
cmp eax, 0xbe04f3f3
jne 0x1004d56f
push eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [0x100adce4]
mov dword [ebp - 0x48], eax
mov eax, 0x18571cfe
jmp 0x1004d56f
cmp eax, 0x6d83432a
je 0x1004d699
cmp eax, 0x7616ea79
jne 0x1004d56f
mov eax, dword [0x100adce4]
mov dword [ebp - 0x3c], eax
mov eax, 0x3ea92cc0
jmp 0x1004d56f
cmp eax, 0xa0f7d279
je 0x1004d864
cmp eax, 0xa3ca288c
jne 0x1004d56f
mov eax, 0x3e827cba
jmp 0x1004d56f
cmp eax, 0x18571cfe
je 0x1004d8b1
cmp eax, 0x3379e4f4
jne 0x1004d56f
mov dword [edi], 0
mov eax, 0xefc1d6ff
jmp 0x1004d56f
cmp eax, 0xe8e4d694
je 0x1004d8c7
cmp eax, 0xeb3acd14
jne 0x1004d56f
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], 0x47
mov dword [ebp - 0x1c], eax
mov eax, 0x528c9fab
cmp eax, 0x424a2f1e
je 0x1004d90d
cmp eax, 0x528c9fab
jne 0x1004d6fa
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, 0xd861da07
not ecx
and ecx, 0x279e25f8
or eax, ecx
xor eax, 0x279e25a0
mov dword [ebp - 0x10], eax
mov eax, 0x424a2f1e
jmp 0x1004d6fa
xor eax, eax
mov ecx, 0xe0bda195
cmp ecx, 0xe0bda194
jle 0x1004d75b
cmp ecx, 0x1aa43d84
jg 0x1004d78b
cmp ecx, 0xe0bda195
je 0x1004d7c8
cmp ecx, 0xe6aef132
jne 0x1004d736
jmp 0x1004d803
cmp ecx, 0x89265286
je 0x1004d95c
cmp ecx, 0xb91caebd
je 0x1004d7e3
cmp ecx, 0xc312f7c3
jne 0x1004d736
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov byte [ecx + 0xe], 0
mov ecx, 0xb91caebd
jmp 0x1004d736
cmp ecx, 0x1aa43d85
je 0x1004d7f3
cmp ecx, 0x2f10b658
jne 0x1004d736
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x24]
mov cl, byte [ecx]
mov edx, ecx
and cl, 0xf7
not dl
and dl, 8
or cl, dl
xor cl, 0x50
movsx ecx, cl
mov dword [ebp - 0x14], ecx
mov ecx, 0xe6aef132
jmp 0x1004d736
mov dword [ebp - 0x10], eax
mov edx, 0x1aa43d85
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xe
mov ecx, 0xc312f7c3
cmovb ecx, edx
jmp 0x1004d736
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1c], ecx
mov ecx, 0x89265286
jmp 0x1004d736
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x18], ecx
mov ecx, 0x2f10b658
jmp 0x1004d736
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
mov eax, 0xffffffa7
sub eax, ecx
lea edx, [ecx + 0x58]
and eax, esi
not esi
and esi, edx
mov edx, dword [ebp - 0x24]
or eax, esi
mov byte [edx], al
mov eax, dword [ebp - 0x10]
inc eax
jmp 0x1004d731
cmp dword [ebp - 0x3c], 0
mov eax, 0x93683b2e
sete byte [ebp - 0x29]
jmp 0x1004d56f
mov dword [edi], 0
mov eax, 0xa3ca288c
jmp 0x1004d56f
cmp byte [ebp - 0x2a], 0
mov eax, dword [ebp - 0x40]
mov eax, 0x88560ff7
mov ecx, 0x6d83432a
cmovne eax, ecx
jmp 0x1004d56f
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, 0x528c9fab
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x14], 0x6b
cmp eax, 0x424a2f1e
je 0x1004d97a
cmp eax, 0x528c9fab
jne 0x1004d87c
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, 0x9e98aa4
not ecx
and ecx, 0xf616755b
or eax, ecx
xor eax, 0xf6167503
mov dword [ebp - 0x10], eax
mov eax, 0x424a2f1e
jmp 0x1004d87c
cmp dword [ebp - 0x48], 0
mov eax, 0x7616ea79
mov ecx, 0xa0f7d279
cmove eax, ecx
jmp 0x1004d56f
lea ecx, [ebp - 0x70]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x38]
mov eax, 0x528c9fab
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x14], 0x49
cmp eax, 0x424a2f1e
je 0x1004d9d5
cmp eax, 0x528c9fab
jne 0x1004d8e2
mov eax, dword [ebp - 0x14]
mov ecx, eax
and eax, 0xffffffa7
not ecx
and ecx, 0x58
or eax, ecx
mov dword [ebp - 0x10], eax
mov eax, 0x424a2f1e
jmp 0x1004d8e2
mov eax, dword [ebp - 0x10]
mov ecx, eax
and al, 0xa7
not cl
and cl, 0x58
or al, cl
mov ecx, dword [ebp - 0x1c]
mov byte [ecx], al
mov ecx, 0x528c9fab
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 0x65
cmp ecx, 0x424a2f1e
je 0x1004de57
cmp ecx, 0x528c9fab
jne 0x1004d92f
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004d92f
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [0x100adce4], eax
mov eax, dword [ebp - 0x38]
mov eax, 0x7616ea79
jmp 0x1004d56f
mov eax, dword [ebp - 0x10]
mov ecx, eax
and al, 0xa7
not cl
and cl, 0x58
or al, cl
mov ecx, dword [ebp - 0x28]
mov byte [ecx], al
mov ecx, 0x528c9fab
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x14], 0x65
cmp ecx, 0x424a2f1e
je 0x1004dea5
cmp ecx, 0x528c9fab
jne 0x1004d99c
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x1d13825
not edx
and edx, 0xfe2ec7da
or ecx, edx
xor ecx, 0xfe2ec782
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004d99c
mov eax, dword [ebp - 0x10]
mov ecx, eax
and al, 0xf
not cl
and cl, 0xf0
or al, cl
mov ecx, 0xcf09aadd
xor al, 0xa8
mov byte [ebp - 0x28], al
cmp ecx, 0xcf09aadc
jg 0x1004da1f
cmp ecx, 0x99099298
je 0x1004e268
cmp ecx, 0xc5620334
jne 0x1004d9ed
mov byte [eax], 0
inc eax
mov ecx, 0xc5620334
mov edx, 0x99099298
cmp eax, dword [ebp - 0x24]
cmove ecx, edx
jmp 0x1004d9ed
cmp ecx, 0xd7a4ca2b
je 0x1004da6f
cmp ecx, 0xcf09aadd
jne 0x1004d9ed
mov ecx, dword [ebp - 0x1c]
mov dl, byte [ebp - 0x28]
mov byte [ecx], dl
mov edx, 0x528c9fab
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x14], 0x73
cmp edx, 0x424a2f1e
je 0x1004dabb
cmp edx, 0x528c9fab
jne 0x1004da46
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004da46
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x20]
mov byte [eax], cl
mov ecx, 0x528c9fab
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0x63
cmp ecx, 0x424a2f1e
je 0x1004db05
cmp ecx, 0x528c9fab
jne 0x1004da86
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x28c818c2
not edx
and edx, 0xd737e73d
or ecx, edx
xor ecx, 0xd737e765
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004da86
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xc0
not bl
and bl, 0x3f
or dl, bl
xor dl, 0x66
mov byte [ecx + 1], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x57
cmp edx, 0x424a2f1e
je 0x1004db58
cmp edx, 0x528c9fab
jne 0x1004dadc
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004dadc
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9d
not dl
and dl, 0x62
or cl, dl
mov byte [eax + 1], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x65
cmp ecx, 0x424a2f1e
je 0x1004db9f
cmp ecx, 0x528c9fab
jne 0x1004db23
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x39c3b355
not edx
and edx, 0xc63c4caa
or ecx, edx
xor ecx, 0xc63c4cf2
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004db23
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa5
not bl
and bl, 0x5a
or dl, bl
mov byte [ecx + 2], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x6f
cmp edx, 0x424a2f1e
je 0x1004dbf2
cmp edx, 0x528c9fab
jne 0x1004db76
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004db76
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9c
not dl
and dl, 0x63
or cl, dl
mov byte [eax + 2], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x73
cmp ecx, 0x424a2f1e
je 0x1004dc39
cmp ecx, 0x528c9fab
jne 0x1004dbbd
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xc214d466
not edx
and edx, 0x3deb2b99
or ecx, edx
xor ecx, 0x3deb2bc1
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004dbbd
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa4
not bl
and bl, 0x5b
or dl, bl
mov byte [ecx + 3], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x77
cmp edx, 0x424a2f1e
je 0x1004dc83
cmp edx, 0x528c9fab
jne 0x1004dc10
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004dc10
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x3e
not dl
and dl, 0xc1
or cl, dl
xor cl, 0xa5
mov byte [eax + 3], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x73
cmp ecx, 0x424a2f1e
je 0x1004dcca
cmp ecx, 0x528c9fab
jne 0x1004dc5a
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004dc5a
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa3
not bl
and bl, 0x5c
or dl, bl
mov byte [ecx + 4], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x36
cmp edx, 0x424a2f1e
je 0x1004dcf2
cmp edx, 0x528c9fab
jne 0x1004dca1
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004dca1
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9a
not dl
and dl, 0x65
or cl, dl
mov byte [eax + 4], cl
add eax, 5
mov ecx, dword [ebp - 0x1c]
add ecx, 0xf
mov dword [ebp - 0x24], ecx
mov ecx, 0xc5620334
jmp 0x1004d9ed
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa2
not bl
and bl, 0x5d
or dl, bl
mov byte [ecx + 5], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x34
cmp edx, 0x424a2f1e
je 0x1004dd39
cmp edx, 0x528c9fab
jne 0x1004dd10
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004dd10
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa1
not bl
and bl, 0x5e
or dl, bl
mov byte [ecx + 6], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x50
cmp edx, 0x424a2f1e
je 0x1004dd8c
cmp edx, 0x528c9fab
jne 0x1004dd57
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xebdaaf92
not esi
and esi, 0x1425506d
or edx, esi
xor edx, 0x14255035
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004dd57
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xe8
not bl
and bl, 0x17
or dl, bl
xor dl, 0x48
mov byte [ecx + 7], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x72
cmp edx, 0x424a2f1e
je 0x1004dde2
cmp edx, 0x528c9fab
jne 0x1004ddad
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xfb012cbc
not esi
and esi, 0x4fed343
or edx, esi
xor edx, 0x4fed31b
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004ddad
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0x9f
not bl
and bl, 0x60
or dl, bl
mov byte [ecx + 8], dl
add ecx, 9
mov dword [ebp - 0x14], 0x6f
mov dword [ebp - 0x18], ecx
mov ecx, 0x528c9fab
cmp ecx, 0x424a2f1e
je 0x1004de3b
cmp ecx, 0x528c9fab
jne 0x1004de06
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x3060c306
not edx
and edx, 0xcf9f3cf9
or ecx, edx
xor ecx, 0xcf9f3ca1
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004de06
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9e
not dl
and dl, 0x61
or cl, dl
mov byte [ebp - 0x20], cl
mov ecx, 0xd7a4ca2b
jmp 0x1004d9ed
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xfb
not dl
and dl, 4
or cl, dl
xor cl, 0x5d
mov byte [eax + 1], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x74
cmp ecx, 0x424a2f1e
je 0x1004e272
cmp ecx, 0x528c9fab
jne 0x1004de78
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004de78
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x6e
not dl
and dl, 0x91
or cl, dl
xor cl, 0xc8
mov byte [eax + 1], cl
add eax, 2
mov ecx, 0x1bb2c12d
mov dword [ebp - 0x1c], 0x1009f85b
mov dword [ebp - 0x20], eax
cmp ecx, 0x6a8600fc
jg 0x1004df34
cmp ecx, 0x1bb2c12d
je 0x1004df4d
cmp ecx, 0x47eac421
jne 0x1004decc
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x2b]
mov byte [eax], cl
mov ecx, 0x528c9fab
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0x6c
cmp ecx, 0x424a2f1e
je 0x1004df94
cmp ecx, 0x528c9fab
jne 0x1004defb
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x1aa908aa
not edx
and edx, 0xe556f755
or ecx, edx
xor ecx, 0xe556f70d
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004defb
cmp ecx, 0x6a8600fd
je 0x1004dfdf
cmp ecx, 0x798646a9
jne 0x1004decc
jmp 0x1004e2cc
mov ecx, dword [ebp - 0x1c]
movsx ecx, byte [ecx]
mov dword [ebp - 0x14], ecx
mov ecx, 0x528c9fab
cmp ecx, 0x424a2f1e
je 0x1004dff8
cmp ecx, 0x528c9fab
jne 0x1004df5b
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x57232036
not edx
and edx, 0xa8dcdfc9
or ecx, edx
xor ecx, 0xa8dcdf91
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004df5b
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9d
not dl
and dl, 0x62
or cl, dl
mov byte [eax + 1], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x6c
cmp ecx, 0x424a2f1e
je 0x1004e044
cmp ecx, 0x528c9fab
jne 0x1004dfb2
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004dfb2
mov byte [eax], 0
inc eax
mov ecx, 0x6a8600fd
mov edx, 0x798646a9
cmp eax, dword [ebp - 0x24]
cmove ecx, edx
jmp 0x1004decc
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xa5
not dl
and dl, 0x5a
or cl, dl
mov edx, dword [ebp - 0x20]
mov byte [edx], cl
mov edx, 0x528c9fab
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], 0x6e
cmp edx, 0x424a2f1e
je 0x1004e06c
cmp edx, 0x528c9fab
jne 0x1004e01b
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e01b
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9c
not dl
and dl, 0x63
or cl, dl
mov byte [eax + 2], cl
add eax, 3
mov ecx, dword [ebp - 0x28]
add ecx, 0xd
mov dword [ebp - 0x24], ecx
mov ecx, 0x6a8600fd
jmp 0x1004decc
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0x58
not bl
and bl, 0xa7
or dl, bl
xor dl, 0xfc
mov byte [ecx + 1], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x65
cmp edx, 0x424a2f1e
je 0x1004e0b6
cmp edx, 0x528c9fab
jne 0x1004e08d
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e08d
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0x84
not bl
and bl, 0x7b
or dl, bl
xor dl, 0x27
mov byte [ecx + 2], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x6c
cmp edx, 0x424a2f1e
je 0x1004e10c
cmp edx, 0x528c9fab
jne 0x1004e0d7
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0x6c677c5a
not esi
and esi, 0x939883a5
or edx, esi
xor edx, 0x939883fd
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e0d7
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa2
not bl
and bl, 0x5d
or dl, bl
mov byte [ecx + 3], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x33
cmp edx, 0x424a2f1e
je 0x1004e15f
cmp edx, 0x528c9fab
jne 0x1004e12a
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0x6bef2a9f
not esi
and esi, 0x9410d560
or edx, esi
xor edx, 0x9410d538
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e12a
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xdb
not bl
and bl, 0x24
or dl, bl
xor dl, 0x7a
mov byte [ecx + 4], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x32
cmp edx, 0x424a2f1e
je 0x1004e1a9
cmp edx, 0x528c9fab
jne 0x1004e180
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e180
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0xa0
not bl
and bl, 0x5f
or dl, bl
mov byte [ecx + 5], dl
mov edx, 0x528c9fab
mov dword [ebp - 0x14], 0x2e
cmp edx, 0x424a2f1e
je 0x1004e1fc
cmp edx, 0x528c9fab
jne 0x1004e1c7
mov edx, dword [ebp - 0x14]
mov esi, edx
and edx, 0xc22e7750
not esi
and esi, 0x3dd188af
or edx, esi
xor edx, 0x3dd188f7
mov dword [ebp - 0x10], edx
mov edx, 0x424a2f1e
jmp 0x1004e1c7
mov edx, dword [ebp - 0x10]
mov ebx, edx
and dl, 0x6d
not bl
and bl, 0x92
or dl, bl
xor dl, 0xf2
mov byte [ecx + 6], dl
add ecx, 7
mov dword [ebp - 0x14], 0x64
mov dword [ebp - 0x18], ecx
mov ecx, 0x528c9fab
cmp ecx, 0x424a2f1e
je 0x1004e24c
cmp ecx, 0x528c9fab
jne 0x1004e223
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e223
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9e
not dl
and dl, 0x61
or cl, dl
mov byte [ebp - 0x2b], cl
mov ecx, 0x47eac421
jmp 0x1004decc
mov eax, 0x3650bb20
jmp 0x1004d56f
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xd8
not dl
and dl, 0x27
or cl, dl
xor cl, 0x7d
mov byte [eax + 2], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x43
cmp ecx, 0x424a2f1e
je 0x1004e3c4
cmp ecx, 0x528c9fab
jne 0x1004e293
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x1588831b
not edx
and edx, 0xea777ce4
or ecx, edx
xor ecx, 0xea777cbc
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e293
xor eax, eax
mov ecx, 0x66903e7a
cmp ecx, 0x38ab80f9
jle 0x1004e32f
cmp ecx, 0x65aa9567
jg 0x1004e350
cmp ecx, 0x38ab80fa
je 0x1004e37f
cmp ecx, 0x513f2f90
jne 0x1004e2d3
mov ecx, dword [ebp - 0x14]
mov dl, byte [ecx]
mov dh, dl
and dl, 0x85
not dh
mov cl, dh
and dh, 0x22
and cl, 0x58
or dl, cl
mov ecx, dword [ebp - 0x10]
mov esi, dword [ebp - 0x14]
or dh, dl
mov dl, 0xa7
sub dl, cl
add cl, 0x58
and dl, 0x22
and cl, 0xdd
or cl, dl
xor cl, dh
mov byte [esi], cl
mov ecx, 0xc9572595
jmp 0x1004e2d3
cmp ecx, 0xc9572595
je 0x1004e3bb
cmp ecx, 0xce9094ed
je 0x1004e394
cmp ecx, 0x202b7332
jne 0x1004e2d3
jmp 0x1004e40e
cmp ecx, 0x65aa9568
je 0x1004e3a4
cmp ecx, 0x66903e7a
jne 0x1004e2d3
mov dword [ebp - 0x10], eax
mov edx, 0x38ab80fa
mov ecx, dword [ebp - 0x10]
cmp ecx, 0xc
mov ecx, 0xce9094ed
cmovb ecx, edx
jmp 0x1004e2d3
mov ecx, dword [ebp - 0x10]
lea edx, [ebp - 0x60]
add ecx, edx
mov dword [ebp - 0x14], ecx
mov ecx, 0x513f2f90
jmp 0x1004e2d3
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x18], ecx
mov ecx, 0x65aa9568
jmp 0x1004e2d3
mov ecx, dword [ebp - 0x18]
mov byte [ecx + 0xc], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
mov ecx, 0x202b7332
jmp 0x1004e2d3
mov eax, dword [ebp - 0x10]
inc eax
jmp 0x1004e2ce
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x3c
not dl
and dl, 0xc3
or cl, dl
xor cl, 0x98
mov byte [eax + 3], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x75
cmp ecx, 0x424a2f1e
je 0x1004e424
cmp ecx, 0x528c9fab
jne 0x1004e3e5
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e3e5
push dword [ebp - 0x24]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov dword [ebp - 0x4c], eax
mov eax, 0xe8e4d694
jmp 0x1004d56f
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xa3
not dl
and dl, 0x5c
or cl, dl
mov byte [eax + 4], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x72
cmp ecx, 0x424a2f1e
je 0x1004e46b
cmp ecx, 0x528c9fab
jne 0x1004e442
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e442
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xa2
not dl
and dl, 0x5d
or cl, dl
mov byte [eax + 5], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x72
cmp ecx, 0x424a2f1e
je 0x1004e4be
cmp ecx, 0x528c9fab
jne 0x1004e489
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x7bd2204d
not edx
and edx, 0x842ddfb2
or ecx, edx
xor ecx, 0x842ddfea
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e489
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xa1
not dl
and dl, 0x5e
or cl, dl
mov byte [eax + 6], cl
add eax, 7
mov ecx, 0xab1f2782
mov byte [ebp - 0x28], 0x65
mov dword [ebp - 0x18], eax
cmp ecx, 0x3711319a
jg 0x1004e537
cmp ecx, 0xab1f2782
je 0x1004e550
cmp ecx, 0xc0792861
jne 0x1004e4df
mov eax, dword [ebp - 0x18]
mov cl, byte [ebp - 0x20]
mov byte [eax], cl
mov ecx, 0x528c9fab
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], 0x6e
cmp ecx, 0x424a2f1e
je 0x1004e595
cmp ecx, 0x528c9fab
jne 0x1004e50e
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e50e
cmp ecx, 0x3711319b
je 0x1004e5dc
cmp ecx, 0x7d2ff6f8
jne 0x1004e4df
jmp 0x1004e842
movsx ecx, byte [ebp - 0x28]
mov dword [ebp - 0x14], ecx
mov ecx, 0x528c9fab
cmp ecx, 0x424a2f1e
je 0x1004e5f5
cmp ecx, 0x528c9fab
jne 0x1004e55c
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0x1c81bb73
not edx
and edx, 0xe37e448c
or ecx, edx
xor ecx, 0xe37e44d4
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e55c
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9f
not dl
and dl, 0x60
or cl, dl
mov byte [eax + 1], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x74
cmp ecx, 0x424a2f1e
je 0x1004e614
cmp ecx, 0x528c9fab
jne 0x1004e5b3
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e5b3
mov byte [eax], 0
inc eax
mov ecx, 0x3711319b
mov edx, 0x7d2ff6f8
cmp eax, dword [ebp - 0x24]
cmove ecx, edx
jmp 0x1004e4df
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9a
not dl
and dl, 0x65
or cl, dl
xor cl, 0x3a
mov byte [ebp - 0x20], cl
mov ecx, 0xc0792861
jmp 0x1004e4df
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9e
not dl
and dl, 0x61
or cl, dl
mov byte [eax + 2], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x50
cmp ecx, 0x424a2f1e
je 0x1004e65b
cmp ecx, 0x528c9fab
jne 0x1004e632
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e632
mov ecx, dword [ebp - 0x10]
xor cl, 0x62
mov byte [eax + 3], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x72
cmp ecx, 0x424a2f1e
je 0x1004e699
cmp ecx, 0x528c9fab
jne 0x1004e670
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e670
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0xc2
not dl
and dl, 0x3d
or cl, dl
xor cl, 0x5e
mov byte [eax + 4], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x6f
cmp ecx, 0x424a2f1e
je 0x1004e6ef
cmp ecx, 0x528c9fab
jne 0x1004e6ba
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xd17447d3
not edx
and edx, 0x2e8bb82c
or ecx, edx
xor ecx, 0x2e8bb874
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e6ba
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9b
not dl
and dl, 0x64
or cl, dl
mov byte [eax + 5], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x63
cmp ecx, 0x424a2f1e
je 0x1004e742
cmp ecx, 0x528c9fab
jne 0x1004e70d
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xf51de269
not edx
and edx, 0xae21d96
or ecx, edx
xor ecx, 0xae21dce
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e70d
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x9a
not dl
and dl, 0x65
or cl, dl
mov byte [eax + 6], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x65
cmp ecx, 0x424a2f1e
je 0x1004e789
cmp ecx, 0x528c9fab
jne 0x1004e760
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e760
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x99
not dl
and dl, 0x66
or cl, dl
mov byte [eax + 7], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x73
cmp ecx, 0x424a2f1e
je 0x1004e7d0
cmp ecx, 0x528c9fab
jne 0x1004e7a7
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e7a7
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x62
not dl
and dl, 0x9d
or cl, dl
xor cl, 0xfa
mov byte [eax + 8], cl
mov ecx, 0x528c9fab
mov dword [ebp - 0x14], 0x73
cmp ecx, 0x424a2f1e
je 0x1004e81a
cmp ecx, 0x528c9fab
jne 0x1004e7f1
mov ecx, dword [ebp - 0x14]
mov edx, ecx
and ecx, 0xffffffa7
not edx
and edx, 0x58
or ecx, edx
mov dword [ebp - 0x10], ecx
mov ecx, 0x424a2f1e
jmp 0x1004e7f1
mov ecx, dword [ebp - 0x10]
mov edx, ecx
and cl, 0x97
not dl
and dl, 0x68
or cl, dl
mov byte [eax + 9], cl
add eax, 0xa
mov ecx, dword [ebp - 0x1c]
add ecx, 0x12
mov dword [ebp - 0x24], ecx
mov ecx, 0x3711319b
jmp 0x1004e4df
mov esi, dword [ebp - 0x30]
xor ebx, ebx
mov edx, 0x70537209
cmp edx, 0x3533f41b
jle 0x1004e884
cmp edx, 0x5e15d4af
jg 0x1004e8b1
cmp edx, 0x3533f41c
je 0x1004e8e0
cmp edx, 0x457fd92a
jne 0x1004e84c
mov edx, dword [ebp - 0x10]
add edx, esi
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x18]
movsx edx, byte [edx]
mov dword [ebp - 0x24], edx
mov edx, 0x3533f41c
jmp 0x1004e84c
cmp edx, 0x913d7356
je 0x1004e935
cmp edx, 0xf0dc5a3f
je 0x1004e91f
cmp edx, 0xf7fd95
jne 0x1004e84c
mov edx, dword [ebp - 0x1c]
mov byte [edx], 0
mov edx, 0x5e15d4b0
jmp 0x1004e84c
cmp edx, 0x5e15d4b0
je 0x1004e946
cmp edx, 0x70537209
jne 0x1004e84c
mov dword [ebp - 0x10], ebx
mov eax, 0x457fd92a
mov edx, dword [ebp - 0x10]
cmp edx, 0x11
mov edx, 0xf0dc5a3f
cmovb edx, eax
jmp 0x1004e84c
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x44], esi
mov ecx, edi
mov edi, 0xffffffa7
mov eax, ebx
mov esi, edx
and edx, 0xffffffa7
not esi
and esi, 0x58
or edx, esi
mov esi, dword [ebp - 0x10]
sub edi, esi
lea ebx, [esi + 0x58]
mov esi, dword [ebp - 0x44]
and edi, edx
not edx
and edx, ebx
mov ebx, eax
or edi, edx
mov edx, 0x913d7356
mov dword [ebp - 0x14], edi
mov edi, ecx
jmp 0x1004e84c
mov dword [ebp - 0x20], esi
mov edx, dword [ebp - 0x20]
add edx, 0x11
mov dword [ebp - 0x1c], edx
mov edx, 0xf7fd95
jmp 0x1004e84c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov byte [edx], cl
mov ebx, dword [ebp - 0x10]
inc ebx
jmp 0x1004e847
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x50], eax
mov eax, 0x57c68f0
jmp 0x1004d56f
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret