Function at 0xb09ba0
Capabilities:
Authenticate hmac
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x458
mov esi, esp
mov eax, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov dword [esi + 0x3a8], 0xcc36fc
mov byte [esi + 3], 0
mov al, byte [esi + 0xb8]
mov byte [esi + 0xbc], al
mov byte [esi + 0x158], 0xdb
mov byte [esi + 0x159], 0x79
mov byte [esi + 0x15a], 0xdf
mov byte [esi + 0x15b], 0x7b
mov byte [esi + 0x15c], 0xf1
mov byte [esi + 0x15d], 0x7d
mov byte [esi + 0x15e], 0x88
mov byte [esi + 0x15f], 0x7f
mov byte [esi + 0x160], 0x80
mov byte [esi + 0x161], 0x71
mov byte [esi + 0x162], 0xd4
mov byte [esi + 0x163], 0x73
mov byte [esi + 0x164], 0xd0
mov byte [esi + 0x165], 0x75
mov byte [esi + 0x166], 0x74
mov byte [esi + 0x167], 0x77
mov byte [esi + 0x16c], 0
mov dword [esi + 0x168], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x15
jae 0xb09cc6
jmp 0xb09c69
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx edx, byte [esi + ecx + 0x158]
mov ecx, eax
and ecx, 0xd39ff80f
xor eax, 0xd39ff80f
lea ecx, [eax + ecx*2]
mov eax, ecx
add eax, edx
and ecx, edx
add ecx, ecx
mov edx, eax
not edx
mov edi, ecx
and edi, edx
not ecx
and eax, ecx
sub eax, edi
mov dword [esi + 0x3ac], eax
mov eax, dword [esi + 0x3ac]
add al, 0x97
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x158], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
mov eax, dword [esi + 0x14]
cmp eax, 0x15
jb 0xb09c69
jmp 0xb09cc6
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x158]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
mov cl, byte [esi + 3]
or cl, al
mov byte [esi + 3], cl
mov al, byte [esi + 0xb4]
mov byte [esi + 0xc0], al
mov byte [esi + 0x1b8], 0xb3
mov byte [esi + 0x1b9], 0x15
mov byte [esi + 0x1ba], 0xaf
mov byte [esi + 0x1bb], 0xeb
mov byte [esi + 0x1bc], 0x5c
mov byte [esi + 0x1bd], 0xe9
mov byte [esi + 0x1be], 0x5c
mov byte [esi + 0x1bf], 0xef
mov byte [esi + 0x1c0], 0x21
mov byte [esi + 0x1c1], 0xed
mov byte [esi + 0x1c2], 0x1e
mov byte [esi + 0x1c3], 0xe3
mov byte [esi + 0x1c4], 0x46
mov byte [esi + 0x1c5], 0xe1
mov byte [esi + 0x1c6], 0x46
mov byte [esi + 0x1c7], 0xe7
mov byte [esi + 0x1c8], 0xe6
mov byte [esi + 0x1c9], 0xe5
mov byte [esi + 0x1d2], 0
mov dword [esi + 0x1ce], 0
mov dword [esi + 0x1ca], 0
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x1b
jae 0xb09dee
jmp 0xb09da6
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x1b8]
mov edx, eax
add edx, 0x9f76007d
add eax, 0x7d
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x3b0], edx
mov eax, dword [esi + 0x3b0]
add al, 0x95
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x1b8], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
cmp eax, 0x1b
jb 0xb09da6
jmp 0xb09dee
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x1b8]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
movzx edx, al
movzx eax, byte [esi + 3]
not eax
not edx
mov ecx, eax
xor ecx, edx
or eax, edx
not eax
or ecx, eax
mov byte [esi + 3], cl
mov al, byte [esi + 0xb0]
mov byte [esi + 0xc4], al
mov byte [esi + 0x108], 0xc6
mov byte [esi + 0x109], 0xad
mov byte [esi + 0x10a], 0x39
mov byte [esi + 0x10b], 0xab
mov byte [esi + 0x10c], 0x36
mov byte [esi + 0x10d], 0xa9
mov byte [esi + 0x10e], 0x43
mov byte [esi + 0x10f], 0xd7
mov byte [esi + 0x110], 0xbc
mov byte [esi + 0x111], 0xd5
mov byte [esi + 0x112], 0xbb
mov byte [esi + 0x113], 0xd3
mov byte [esi + 0x114], 0x4f
mov byte [esi + 0x115], 0xd1
mov byte [esi + 0x116], 0x42
mov byte [esi + 0x117], 0xdf
mov byte [esi + 0x118], 0x4f
mov byte [esi + 0x119], 0xdd
mov byte [esi + 0x11a], 0x44
mov byte [esi + 0x11b], 0xdb
mov byte [esi + 0x11c], 0x41
mov byte [esi + 0x11d], 0xd9
mov byte [esi + 0x11e], 0x94
mov byte [esi + 0x11f], 0xc7
mov byte [esi + 0x120], 0x5b
mov byte [esi + 0x121], 0xc5
mov byte [esi + 0x122], 0x53
mov byte [esi + 0x123], 0xc3
mov byte [esi + 0x124], 0x54
mov byte [esi + 0x125], 0xc1
mov byte [esi + 0x126], 0xa7
mov byte [esi + 0x127], 0xcf
mov byte [esi + 0x128], 0x50
mov byte [esi + 0x129], 0xcd
mov byte [esi + 0x12a], 0xa7
mov byte [esi + 0x12b], 0xcb
mov byte [esi + 0x12c], 0xc8
mov byte [esi + 0x12d], 0xc9
mov dword [esi + 0x131], 0
mov dword [esi + 0x12e], 0
mov dword [esi + 0x1c], 0
mov eax, dword [esi + 0x1c]
cmp eax, 0x2d
jae 0xb09fa1
jmp 0xb09f63
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x1c]
movzx ecx, byte [esi + ecx + 0x108]
add eax, 0x9eab1cba
xor eax, ecx
mov dword [esi + 0x3b4], eax
mov eax, dword [esi + 0x3b4]
add al, 0xea
mov ecx, dword [esi + 0x1c]
mov byte [esi + ecx + 0x108], al
mov eax, dword [esi + 0x1c]
inc eax
mov dword [esi + 0x1c], eax
mov eax, dword [esi + 0x1c]
cmp eax, 0x2d
jb 0xb09f63
jmp 0xb09fa1
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x108]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
mov cl, byte [esi + 3]
or cl, al
mov byte [esi + 3], cl
mov al, byte [esi + 0xac]
mov byte [esi + 0xc8], al
mov byte [esi + 0xe0], 0xcb
mov byte [esi + 0xe1], 0x35
mov byte [esi + 0xe2], 0xc5
mov byte [esi + 0xe3], 0x33
mov byte [esi + 0xe4], 0xc3
mov byte [esi + 0xe5], 0x31
mov byte [esi + 0xe6], 0xc5
mov byte [esi + 0xe7], 0xcf
mov byte [esi + 0xe8], 0x39
mov byte [esi + 0xe9], 0xcd
mov byte [esi + 0xea], 0x37
mov byte [esi + 0xeb], 0xcb
mov byte [esi + 0xec], 0x47
mov byte [esi + 0xed], 0xc9
mov byte [esi + 0xee], 0xfa
mov byte [esi + 0xef], 0xc7
mov byte [esi + 0xf0], 0x4b
mov byte [esi + 0xf1], 0xc5
mov byte [esi + 0xf2], 0x4b
mov byte [esi + 0xf3], 0xc3
mov byte [esi + 0xf4], 0x36
mov byte [esi + 0xf5], 0xc1
mov byte [esi + 0xf6], 0x37
mov byte [esi + 0xf7], 0xdf
mov byte [esi + 0xf8], 0x52
mov byte [esi + 0xf9], 0xdd
mov byte [esi + 0xfa], 0x27
mov byte [esi + 0xfb], 0xdb
mov byte [esi + 0xfc], 0xda
mov byte [esi + 0xfd], 0xd9
mov word [esi + 0x106], 0
mov dword [esi + 0x102], 0
mov dword [esi + 0xfe], 0
mov dword [esi + 0x20], 0
mov eax, dword [esi + 0x20]
cmp eax, 0x28
jae 0xb0a121
jmp 0xb0a0d7
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x20]
movzx ecx, byte [esi + ecx + 0xe0]
mov edx, eax
add edx, 0xf29f07f9
add eax, 0xf9
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x3b8], edx
mov eax, dword [esi + 0x3b8]
add al, 0x31
mov ecx, dword [esi + 0x20]
mov byte [esi + ecx + 0xe0], al
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
cmp eax, 0x28
jb 0xb0a0d7
jmp 0xb0a121
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0xe0]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
movzx edx, al
movzx eax, byte [esi + 3]
not eax
not edx
mov ecx, eax
xor ecx, edx
or eax, edx
not eax
or ecx, eax
mov byte [esi + 3], cl
mov al, byte [esi + 0xa8]
mov byte [esi + 0xcc], al
mov byte [esi + 0x138], 0x42
mov byte [esi + 0x139], 0xd1
mov byte [esi + 0x13a], 0x41
mov byte [esi + 0x13b], 0xd3
mov byte [esi + 0x13c], 0x7b
mov byte [esi + 0x13d], 0xdd
mov byte [esi + 0x13e], 0x77
mov byte [esi + 0x13f], 0xdf
mov byte [esi + 0x140], 0x48
mov byte [esi + 0x141], 0xd9
mov byte [esi + 0x142], 0x45
mov byte [esi + 0x143], 0xdb
mov byte [esi + 0x144], 0xc
mov byte [esi + 0x145], 0xc5
mov byte [esi + 0x146], 0x6e
mov byte [esi + 0x147], 0xc7
mov byte [esi + 0x148], 0x5b
mov byte [esi + 0x149], 0xc1
mov byte [esi + 0x14a], 0x51
mov byte [esi + 0x14b], 0xc3
mov byte [esi + 0x14c], 0x54
mov byte [esi + 0x14d], 0xcd
mov byte [esi + 0x14e], 0xcc
mov byte [esi + 0x14f], 0xcf
mov word [esi + 0x150], 0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 0x1a
jae 0xb0a281
jmp 0xb0a229
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x24]
movzx edx, byte [esi + ecx + 0x138]
mov ecx, eax
add ecx, 0xf79c2ea3
lea eax, [eax + edx - 0x863d15d]
and ecx, edx
add ecx, ecx
mov edx, eax
not edx
mov edi, ecx
and edi, edx
not ecx
and eax, ecx
sub eax, edi
mov dword [esi + 0x3bc], eax
mov eax, dword [esi + 0x3bc]
add al, 0x8b
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x138], al
mov eax, dword [esi + 0x24]
inc eax
mov dword [esi + 0x24], eax
mov eax, dword [esi + 0x24]
cmp eax, 0x1a
jb 0xb0a229
jmp 0xb0a281
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x138]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
movzx eax, al
movzx ecx, byte [esi + 3]
mov edx, eax
and edx, ecx
not edx
add ecx, eax
add ecx, edx
sub ecx, 0xffffffff
setne byte [esi + 3]
mov al, byte [esi + 0xa4]
mov byte [esi + 0xd0], al
mov byte [esi + 0x170], 0xa0
mov byte [esi + 0x171], 0x31
mov byte [esi + 0x172], 0xae
mov byte [esi + 0x173], 0x33
mov byte [esi + 0x174], 0x55
mov byte [esi + 0x175], 0x35
mov byte [esi + 0x176], 0x55
mov byte [esi + 0x177], 0x37
mov byte [esi + 0x178], 0x4d
mov byte [esi + 0x179], 0x29
mov byte [esi + 0x17a], 0xb9
mov byte [esi + 0x17b], 0x2b
mov byte [esi + 0x17c], 0x72
mov byte [esi + 0x17d], 0x2d
mov byte [esi + 0x17e], 0xbd
mov byte [esi + 0x17f], 0x2f
mov byte [esi + 0x180], 0xb1
mov byte [esi + 0x181], 0x21
mov byte [esi + 0x182], 0xbe
mov byte [esi + 0x183], 0x23
mov byte [esi + 0x184], 0xbd
mov byte [esi + 0x185], 0x25
mov byte [esi + 0x186], 0xb2
mov byte [esi + 0x187], 0x27
mov byte [esi + 0x188], 0x3d
mov byte [esi + 0x189], 0x59
mov byte [esi + 0x18a], 0x5a
mov byte [esi + 0x18b], 0x5b
mov byte [esi + 0x194], 0
mov dword [esi + 0x190], 0
mov dword [esi + 0x18c], 0
mov dword [esi + 0x28], 0
mov eax, dword [esi + 0x28]
cmp eax, 0x25
jae 0xb0a3ff
jmp 0xb0a3b7
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x28]
movzx ecx, byte [esi + ecx + 0x170]
mov edx, eax
add edx, 0x37543c28
add eax, 0x28
and eax, ecx
or edx, ecx
sub edx, eax
mov dword [esi + 0x3c0], edx
mov eax, dword [esi + 0x3c0]
add al, 0xe8
mov ecx, dword [esi + 0x28]
mov byte [esi + ecx + 0x170], al
mov eax, dword [esi + 0x28]
inc eax
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
cmp eax, 0x25
jb 0xb0a3b7
jmp 0xb0a3ff
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
sub esp, 0xc
lea edx, [esi + 0x170]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00b06970
add esp, 0xc
mov cl, byte [esi + 3]
or cl, al
mov byte [esi + 3], cl
mov eax, dword [ebp + 0x10]
xor ecx, ecx
test eax, eax
sete cl
mov dword [esi + 0x3a4], ecx
mov eax, dword [esi + 0x3a8]
mov ecx, dword [esi + 0x3a4]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x208], eax
push eax
mov eax, esp
mov dword [esi + 0x20c], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x204], eax
mov dword [eax], 0x47
push eax
mov eax, esp
mov dword [esi + 0x200], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x1fc], eax
mov dword [eax], 0x19
push eax
mov eax, esp
mov dword [esi + 0x21c], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x214], eax
mov dword [eax], 0x1a
push eax
mov eax, esp
mov dword [esi + 0x218], eax
mov dword [eax], 0xcc3704
push eax
mov dword [esi + 0x210], esp
push eax
mov eax, esp
mov dword [esi + 0x22c], eax
mov dword [eax], 0xcc370c
push eax
mov dword [esi + 0x220], esp
push eax
mov eax, esp
mov dword [esi + 0x24c], eax
mov dword [eax], 0xcc3714
push eax
mov dword [esi + 0x244], esp
push eax
mov eax, esp
mov dword [esi + 0x248], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x240], eax
mov dword [eax], 0x1e
push eax
mov eax, esp
mov dword [esi + 0x23c], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x238], eax
mov dword [eax], 0x1f
push eax
mov eax, esp
mov dword [esi + 0x234], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x228], eax
mov dword [eax], 0x20
push eax
mov eax, esp
mov dword [esi + 0x230], eax
mov dword [eax], 0xcc371c
push eax
mov dword [esi + 0x224], esp
push eax
mov eax, esp
mov dword [esi + 0x26c], eax
mov dword [eax], 0xcc3724
push eax
mov dword [esi + 0x268], esp
push eax
mov eax, esp
mov dword [esi + 0x264], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x254], eax
mov dword [eax], 0x23
push eax
mov eax, esp
mov dword [esi + 0x260], eax
mov dword [eax], 0xcc372c
push eax
mov dword [esi + 0x258], esp
push eax
mov eax, esp
mov dword [esi + 0x25c], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x250], eax
mov dword [eax], 0x25
push eax
mov eax, esp
mov dword [esi + 0x3a0], eax
mov dword [eax], 0xcc3734
push eax
mov dword [esi + 0x39c], esp
push eax
mov eax, esp
mov dword [esi + 0x398], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x394], eax
mov dword [eax], 0x27
push eax
mov ecx, esp
mov dword [esi + 0x390], ecx
mov dword [ecx], 0xcc3560
push eax
mov ecx, esp
mov dword [ecx], 0x28
push eax
mov edx, esp
mov dword [esi + 0x388], edx
mov dword [edx], 0xcc3560
push eax
mov edx, esp
mov dword [edx], 0x37
push eax
mov edi, esp
mov dword [esi + 0x380], edi
mov dword [edi], 0xcc373c
push eax
mov dword [esi + 0x37c], esp
push eax
mov edi, esp
mov dword [esi + 0x378], edi
mov dword [edi], 0xcc3560
push eax
mov edi, esp
mov dword [esi + 0x374], edi
mov dword [edi], 0x2b
push eax
mov edi, esp
mov dword [esi + 0x370], edi
mov dword [edi], 0xcc3560
push eax
mov edi, esp
mov dword [esi + 0x36c], edi
mov dword [edi], 0x31
push eax
mov edi, esp
mov dword [esi + 0x368], edi
mov dword [edi], 0xcc3744
push eax
mov dword [esi + 0x364], esp
push eax
mov eax, esp
mov dword [esi + 0x360], eax
mov dword [eax], 0xcc374c
push eax
mov dword [esi + 0x35c], esp
push eax
mov ebx, esp
mov dword [esi + 0x358], ebx
mov dword [ebx], 0xcc3754
push eax
mov dword [esi + 0x354], esp
push eax
mov ebx, esp
mov dword [esi + 0x350], ebx
mov dword [ebx], 0xcc3560
push eax
mov ebx, esp
mov dword [esi + 0x34c], ebx
mov dword [ebx], 0x30
push eax
mov ebx, esp
mov dword [esi + 0x348], ebx
mov dword [ebx], 0xcc3560
push eax
mov ebx, esp
mov dword [esi + 0x340], ebx
mov dword [ebx], 0x31
push eax
mov eax, esp
mov dword [esi + 0x328], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x314], eax
mov dword [eax], 0x32
push eax
mov eax, esp
mov dword [esi + 0x30c], eax
mov dword [eax], 0xcc375c
push eax
mov dword [esi + 0x308], esp
push eax
mov eax, esp
mov dword [esi + 0x304], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x300], eax
mov dword [eax], 0x34
push eax
mov eax, esp
mov dword [esi + 0x2fc], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2f8], eax
mov dword [eax], 0x35
push eax
mov eax, esp
mov dword [esi + 0x2f4], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2ec], eax
mov dword [eax], 0x36
push eax
mov eax, esp
mov dword [esi + 0x2e8], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2d4], eax
mov dword [eax], 0x25
push eax
mov eax, esp
mov dword [esi + 0x2f0], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2e0], eax
mov dword [eax], 0x38
push eax
mov eax, esp
mov dword [esi + 0x2dc], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2c8], eax
mov dword [eax], 0x39
push eax
mov eax, esp
mov dword [esi + 0x2cc], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2ac], eax
mov dword [eax], 0x3a
push eax
mov eax, esp
mov dword [esi + 0x2b8], eax
mov dword [eax], 0xcc3764
push eax
mov dword [esi + 0x2a4], esp
push eax
mov eax, esp
mov dword [esi + 0x2e4], eax
mov dword [eax], 0xcc376c
push eax
mov dword [esi + 0x2d0], esp
push eax
mov eax, esp
mov dword [esi + 0x2c4], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x2a0], eax
mov dword [eax], 0x3d
push eax
mov eax, esp
mov dword [esi + 0x2b0], eax
mov dword [eax], 0xcc3774
push eax
mov dword [esi + 0x294], esp
push eax
mov eax, esp
mov dword [esi + 0x2d8], eax
mov dword [eax], 0xcc377c
push eax
mov dword [esi + 0x2b4], esp
push eax
mov eax, esp
mov dword [esi + 0x2c0], eax
mov dword [eax], 0xcc3784
push eax
mov dword [esi + 0x2a8], esp
push eax
mov eax, esp
mov dword [esi + 0x2bc], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x29c], eax
mov dword [eax], 0x41
push eax
mov eax, esp
mov dword [esi + 0x298], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x290], eax
mov dword [eax], 0x42
push eax
mov eax, esp
mov dword [esi + 0x28c], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x288], eax
mov dword [eax], 0x43
push eax
mov ebx, esp
mov dword [esi + 0x33c], ebx
mov dword [ebx], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x31c], eax
mov dword [eax], 0x44
push eax
mov eax, esp
mov dword [esi + 0x334], eax
mov dword [eax], 0xcc378c
push eax
mov dword [esi + 0x320], esp
push eax
mov eax, esp
mov dword [esi + 0x330], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x310], eax
mov dword [eax], 0x46
push eax
mov ebx, esp
mov dword [esi + 0x344], ebx
mov dword [ebx], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x324], eax
mov dword [eax], 0x47
push eax
mov ebx, esp
mov dword [ebx], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x32c], eax
mov dword [eax], 0x48
push eax
mov eax, esp
mov dword [esi + 0x338], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x318], eax
mov dword [eax], 0x49
push eax
mov eax, esp
mov dword [esi + 0x1f8], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x1f4], eax
mov dword [eax], 0x21
push eax
mov eax, esp
mov dword [esi + 0x274], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x270], eax
mov dword [eax], 0x2d
push eax
mov eax, esp
mov dword [esi + 0x280], eax
mov dword [eax], 0xcc3560
push eax
mov eax, esp
mov dword [esi + 0x278], eax
mov dword [eax], 0x3b
push eax
mov eax, esp
mov dword [eax], 0xcc3560
push eax
mov edi, esp
mov dword [esi + 0x27c], edi
mov dword [edi], 0x3e
jmp dword [esi + 0x208]