Function at 0x416ac0
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x2f8
mov esi, esp
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
lea eax, [0x445e48]
mov dword [esi + 0x284], eax
mov al, byte [esi + 0xac]
mov byte [esi + 0xc4], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6b
xor eax, 0xe
mov byte [esi + 0xb0], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0xf
mov byte [esi + 0xb1], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x10
mov byte [esi + 0xb2], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x11
mov byte [esi + 0xb3], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x12
mov byte [esi + 0xb4], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x13
mov byte [esi + 0xb5], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x34
xor eax, 0x14
mov byte [esi + 0xb6], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x15
mov byte [esi + 0xb7], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
xor eax, 0x16
mov byte [esi + 0xb8], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x17
mov byte [esi + 0xb9], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
xor eax, 0x18
mov byte [esi + 0xba], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x19
mov byte [esi + 0xbb], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x62
xor eax, 0x1a
mov byte [esi + 0xbc], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1b
mov byte [esi + 0xbd], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1c
mov byte [esi + 0xbe], al
sub esp, 8
mov dword [esp], 0x171d560e
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x1d
mov byte [esi + 0xbf], al
mov eax, 0x10
mov byte [esi + eax + 0xb0], 0
add eax, 1
cmp eax, 0x12
jne 0x416d39
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x12
jae 0x416d8b
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [esi + ecx + 0xb0]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a430
add esp, 8
mov ecx, dword [esi + 4]
mov byte [esi + ecx + 0xb0], al
mov eax, dword [esi + 4]
inc eax
mov dword [esi + 4], eax
jmp 0x416d50
lea eax, [esi + 0xb0]
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00413e20
add esp, 0xc
and al, 1
movzx ebx, al
mov al, byte [esi + 0xa8]
mov byte [esi + 0xc8], al
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
mov ecx, eax
and ecx, 0xffffffc8
xor eax, 0xffffffff
and eax, 0x37
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x168], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffc9
xor eax, 0xffffffff
and eax, 0x36
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x169], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0xffffffca
xor eax, 0xffffffff
and eax, 0x35
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16a], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffcb
xor eax, 0xffffffff
and eax, 0x34
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16b], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
mov ecx, eax
and ecx, 0xffffffcc
xor eax, 0xffffffff
and eax, 0x33
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16c], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffcd
xor eax, 0xffffffff
and eax, 0x32
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16d], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
mov ecx, eax
and ecx, 0xffffffce
xor eax, 0xffffffff
and eax, 0x31
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16e], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffcf
xor eax, 0xffffffff
and eax, 0x30
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x16f], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x39
mov ecx, eax
and ecx, 0xffffffd0
xor eax, 0xffffffff
and eax, 0x2f
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x170], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd1
xor eax, 0xffffffff
and eax, 0x2e
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x171], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
mov ecx, eax
and ecx, 0xffffffd2
xor eax, 0xffffffff
and eax, 0x2d
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x172], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd3
xor eax, 0xffffffff
and eax, 0x2c
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x173], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x64
mov ecx, eax
and ecx, 0xffffffd4
xor eax, 0xffffffff
and eax, 0x2b
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x174], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd5
xor eax, 0xffffffff
and eax, 0x2a
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x175], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x62
mov ecx, eax
and ecx, 0xffffffd6
xor eax, 0xffffffff
and eax, 0x29
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x176], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd7
xor eax, 0xffffffff
and eax, 0x28
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x177], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd8
xor eax, 0xffffffff
and eax, 0x27
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x178], cl
sub esp, 8
mov dword [esp], 0x571d3bc8
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0xffffffd9
xor eax, 0xffffffff
and eax, 0x26
or ecx, eax
xor cl, 0xff
mov byte [esi + 0x179], cl
mov eax, 0x12
mov byte [esi + eax + 0x168], 0
add eax, 1
cmp eax, 0x15
jne 0x417135
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0x15
jae 0x417187
mov eax, dword [esi + 8]
mov ecx, dword [esi + 8]
movzx ecx, byte [esi + ecx + 0x168]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a450
add esp, 8
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x168], al
mov eax, dword [esi + 8]
inc eax
mov dword [esi + 8], eax
jmp 0x41714c
lea eax, [esi + 0x168]
sub esp, 0xc
mov dword [esp], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00413e20
add esp, 0xc
and al, 1
movzx eax, al
and ebx, ebx
xor ebx, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
and ebx, ecx
xor ebx, 0xffffffff
cmp ebx, 0
setne bl
mov al, byte [esi + 0xa4]
mov byte [esi + 0xcc], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x66
xor eax, 0x6c
mov byte [esi + 0x118], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6d
mov byte [esi + 0x119], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x6e
mov byte [esi + 0x11a], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6f
mov byte [esi + 0x11b], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x70
mov byte [esi + 0x11c], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x71
mov byte [esi + 0x11d], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6d
xor eax, 0x72
mov byte [esi + 0x11e], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x73
mov byte [esi + 0x11f], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x68
xor eax, 0x74
mov byte [esi + 0x120], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x75
mov byte [esi + 0x121], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x76
mov byte [esi + 0x122], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x77
mov byte [esi + 0x123], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x78
mov byte [esi + 0x124], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x79
mov byte [esi + 0x125], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x7a
mov byte [esi + 0x126], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7b
mov byte [esi + 0x127], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x7c
mov byte [esi + 0x128], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7d
mov byte [esi + 0x129], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x72
xor eax, 0x7e
mov byte [esi + 0x12a], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x7f
mov byte [esi + 0x12b], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x79
xor eax, 0x80
mov byte [esi + 0x12c], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x81
mov byte [esi + 0x12d], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
xor eax, 0x82
mov byte [esi + 0x12e], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x83
mov byte [esi + 0x12f], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x84
mov byte [esi + 0x130], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x85
mov byte [esi + 0x131], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x71
xor eax, 0x86
mov byte [esi + 0x132], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x87
mov byte [esi + 0x133], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x88
mov byte [esi + 0x134], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x89
mov byte [esi + 0x135], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x8a
mov byte [esi + 0x136], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8b
mov byte [esi + 0x137], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x8c
mov byte [esi + 0x138], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8d
mov byte [esi + 0x139], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x8e
mov byte [esi + 0x13a], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x8f
mov byte [esi + 0x13b], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x90
mov byte [esi + 0x13c], al
sub esp, 8
mov dword [esp], 0x3808566c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x91
mov byte [esi + 0x13d], al
mov eax, 0x26
mov byte [esi + eax + 0x118], 0
add eax, 1
cmp eax, 0x29
jne 0x417762
mov dword [esi + 0xc], 0
mov eax, dword [esi + 0xc]
cmp eax, 0x29
jae 0x4177b4
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0xc]
movzx ecx, byte [esi + ecx + 0x118]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a470
add esp, 8
mov ecx, dword [esi + 0xc]
mov byte [esi + ecx + 0x118], al
mov eax, dword [esi + 0xc]
inc eax
mov dword [esi + 0xc], eax
jmp 0x417779
lea eax, [esi + 0x118]
sub esp, 0xc
mov dword [esp], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00413e20
add esp, 0xc
and al, 1
movzx edx, al
and bl, 1
movzx eax, bl
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
and ecx, ebx
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor eax, 0xffffffff
and ecx, eax
cmp ecx, 0
setne bl
mov al, byte [esi + 0xa0]
mov byte [esi + 0xd0], al
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
mov ecx, eax
and ecx, 0x655e0f8b
shl ecx, 1
mov edx, 0x655e0f8b
sub edx, ecx
add edx, eax
mov byte [esi + 0x144], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f8c
shl ecx, 1
mov edx, 0x655e0f8c
sub edx, ecx
add edx, eax
mov byte [esi + 0x145], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
mov ecx, eax
and ecx, 0x655e0f8d
shl ecx, 1
mov edx, 0x655e0f8d
sub edx, ecx
add edx, eax
mov byte [esi + 0x146], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f8e
shl ecx, 1
mov edx, 0x655e0f8e
sub edx, ecx
add edx, eax
mov byte [esi + 0x147], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
mov ecx, eax
and ecx, 0x655e0f8f
shl ecx, 1
mov edx, 0x655e0f8f
sub edx, ecx
add edx, eax
mov byte [esi + 0x148], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f90
shl ecx, 1
mov edx, 0x655e0f90
sub edx, ecx
add edx, eax
mov byte [esi + 0x149], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6b
mov ecx, eax
and ecx, 0x655e0f91
shl ecx, 1
mov edx, 0x655e0f91
sub edx, ecx
add edx, eax
mov byte [esi + 0x14a], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f92
shl ecx, 1
mov edx, 0x655e0f92
sub edx, ecx
add edx, eax
mov byte [esi + 0x14b], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
mov ecx, eax
and ecx, 0x655e0f93
shl ecx, 1
mov edx, 0x655e0f93
sub edx, ecx
add edx, eax
mov byte [esi + 0x14c], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f94
shl ecx, 1
mov edx, 0x655e0f94
sub edx, ecx
add edx, eax
mov byte [esi + 0x14d], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0x655e0f95
shl ecx, 1
mov edx, 0x655e0f95
sub edx, ecx
add edx, eax
mov byte [esi + 0x14e], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f96
shl ecx, 1
mov edx, 0x655e0f96
sub edx, ecx
add edx, eax
mov byte [esi + 0x14f], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
mov ecx, eax
and ecx, 0x655e0f97
shl ecx, 1
mov edx, 0x655e0f97
sub edx, ecx
add edx, eax
mov byte [esi + 0x150], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f98
shl ecx, 1
mov edx, 0x655e0f98
sub edx, ecx
add edx, eax
mov byte [esi + 0x151], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
mov ecx, eax
and ecx, 0x655e0f99
shl ecx, 1
mov edx, 0x655e0f99
sub edx, ecx
add edx, eax
mov byte [esi + 0x152], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f9a
shl ecx, 1
mov edx, 0x655e0f9a
sub edx, ecx
add edx, eax
mov byte [esi + 0x153], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
mov ecx, eax
and ecx, 0x655e0f9b
shl ecx, 1
mov edx, 0x655e0f9b
sub edx, ecx
add edx, eax
mov byte [esi + 0x154], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f9c
shl ecx, 1
mov edx, 0x655e0f9c
sub edx, ecx
add edx, eax
mov byte [esi + 0x155], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x71
mov ecx, eax
and ecx, 0x655e0f9d
shl ecx, 1
mov edx, 0x655e0f9d
sub edx, ecx
add edx, eax
mov byte [esi + 0x156], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0f9e
shl ecx, 1
mov edx, 0x655e0f9e
sub edx, ecx
add edx, eax
mov byte [esi + 0x157], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
mov ecx, eax
and ecx, 0x655e0f9f
shl ecx, 1
mov edx, 0x655e0f9f
sub edx, ecx
add edx, eax
mov byte [esi + 0x158], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa0
shl ecx, 1
mov edx, 0x655e0fa0
sub edx, ecx
add edx, eax
mov byte [esi + 0x159], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
mov ecx, eax
and ecx, 0x655e0fa1
shl ecx, 1
mov edx, 0x655e0fa1
sub edx, ecx
add edx, eax
mov byte [esi + 0x15a], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa2
shl ecx, 1
mov edx, 0x655e0fa2
sub edx, ecx
add edx, eax
mov byte [esi + 0x15b], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
mov ecx, eax
and ecx, 0x655e0fa3
shl ecx, 1
mov edx, 0x655e0fa3
sub edx, ecx
add edx, eax
mov byte [esi + 0x15c], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa4
shl ecx, 1
mov edx, 0x655e0fa4
sub edx, ecx
add edx, eax
mov byte [esi + 0x15d], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
mov ecx, eax
and ecx, 0x655e0fa5
shl ecx, 1
mov edx, 0x655e0fa5
sub edx, ecx
add edx, eax
mov byte [esi + 0x15e], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa6
shl ecx, 1
mov edx, 0x655e0fa6
sub edx, ecx
add edx, eax
mov byte [esi + 0x15f], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa7
shl ecx, 1
mov edx, 0x655e0fa7
sub edx, ecx
add edx, eax
mov byte [esi + 0x160], dl
sub esp, 8
mov dword [esp], 0x655e0f8b
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
mov ecx, eax
and ecx, 0x655e0fa8
shl ecx, 1
mov edx, 0x655e0fa8
sub edx, ecx
add edx, eax
mov byte [esi + 0x161], dl
mov eax, 0x1e
mov byte [esi + eax + 0x144], 0
add eax, 1
cmp eax, 0x22
jne 0x417e32
mov dword [esi + 0x10], 0
mov eax, dword [esi + 0x10]
cmp eax, 0x22
jae 0x417e84
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x10]
movzx ecx, byte [esi + ecx + 0x144]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a4a0
add esp, 8
mov ecx, dword [esi + 0x10]
mov byte [esi + ecx + 0x144], al
mov eax, dword [esi + 0x10]
inc eax
mov dword [esi + 0x10], eax
jmp 0x417e49
lea eax, [esi + 0x144]
sub esp, 0xc
mov dword [esp], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00413e20
add esp, 0xc
and al, 1
movzx ecx, al
and bl, 1
movzx edx, bl
mov eax, edx
xor eax, 0xffffffff
mov ebx, ecx
xor ebx, 0xffffffff
and eax, ebx
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
or eax, edx
xor eax, 0xffffffff
cmp eax, 0
setne bl
mov al, byte [esi + 0x80]
mov byte [esi + 0xd4], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x54
mov byte [esi + 0x84], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x55
mov byte [esi + 0x85], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x56
mov byte [esi + 0x86], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x57
mov byte [esi + 0x87], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x67
xor eax, 0x58
mov byte [esi + 0x88], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x59
mov byte [esi + 0x89], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x5a
mov byte [esi + 0x8a], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5b
mov byte [esi + 0x8b], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x5c
mov byte [esi + 0x8c], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5d
mov byte [esi + 0x8d], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x5e
mov byte [esi + 0x8e], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5f
mov byte [esi + 0x8f], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
xor eax, 0x60
mov byte [esi + 0x90], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x61
mov byte [esi + 0x91], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6a
xor eax, 0x62
mov byte [esi + 0x92], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x63
mov byte [esi + 0x93], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x64
mov byte [esi + 0x94], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x65
mov byte [esi + 0x95], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6f
xor eax, 0x66
mov byte [esi + 0x96], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x67
mov byte [esi + 0x97], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6e
xor eax, 0x68
mov byte [esi + 0x98], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x69
mov byte [esi + 0x99], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6a
mov byte [esi + 0x9a], al
sub esp, 8
mov dword [esp], 0x1ad2d54
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x6b
mov byte [esi + 0x9b], al
mov eax, 0x18
mov byte [esi + eax + 0x84], 0
add eax, 1
cmp eax, 0x1c
jne 0x418247
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 0x1c
jae 0x418299
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x84]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a4d0
add esp, 8
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x84], al
mov eax, dword [esi + 0x14]
inc eax
mov dword [esi + 0x14], eax
jmp 0x41825e
lea eax, [esi + 0x84]
sub esp, 0xc
mov dword [esp], edi
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00413e20
add esp, 0xc
and al, 1
movzx edx, al
and bl, 1
movzx eax, bl
mov ecx, eax
xor ecx, 0xffffffff
mov ebx, edx
xor ebx, 0xffffffff
and eax, 0xb5c87af1
and edx, 0xb5c87af1
or eax, 0x4a37850e
or edx, 0x4a37850e
xor eax, edx
or ecx, ebx
xor ecx, 0xffffffff
and ecx, 0xffffffff
or eax, ecx
cmp eax, 0
setne byte [esi + 3]
mov al, byte [esi + 0x7c]
mov byte [esi + 0xd8], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x70
xor eax, 0x66
xor al, 0x3a
mov byte [esi + 0x34], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x67
xor al, 0x3a
mov byte [esi + 0x35], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x64
xor al, 0x3a
mov byte [esi + 0x36], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x65
xor al, 0x3a
mov byte [esi + 0x37], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x61
xor eax, 0x5a
xor al, 0x3a
mov byte [esi + 0x38], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5b
xor al, 0x3a
mov byte [esi + 0x39], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x63
xor eax, 0x58
xor al, 0x3a
mov byte [esi + 0x3a], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x59
xor al, 0x3a
mov byte [esi + 0x3b], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x5e
xor al, 0x3a
mov byte [esi + 0x3c], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5f
xor al, 0x3a
mov byte [esi + 0x3d], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x5c
xor al, 0x3a
mov byte [esi + 0x3e], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x5d
xor al, 0x3a
mov byte [esi + 0x3f], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x2e
xor eax, 0x52
xor al, 0x3a
mov byte [esi + 0x40], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x53
xor al, 0x3a
mov byte [esi + 0x41], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x73
xor eax, 0x50
xor al, 0x3a
mov byte [esi + 0x42], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x51
xor al, 0x3a
mov byte [esi + 0x43], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x71
xor eax, 0x56
xor al, 0x3a
mov byte [esi + 0x44], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x57
xor al, 0x3a
mov byte [esi + 0x45], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x6c
xor eax, 0x54
xor al, 0x3a
mov byte [esi + 0x46], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x55
xor al, 0x3a
mov byte [esi + 0x47], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x69
xor eax, 0x4a
xor al, 0x3a
mov byte [esi + 0x48], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4b
xor al, 0x3a
mov byte [esi + 0x49], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x74
xor eax, 0x48
xor al, 0x3a
mov byte [esi + 0x4a], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x49
xor al, 0x3a
mov byte [esi + 0x4b], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
add eax, 0x65
xor eax, 0x4e
xor al, 0x3a
mov byte [esi + 0x4c], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4f
xor al, 0x3a
mov byte [esi + 0x4d], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4c
xor al, 0x3a
mov byte [esi + 0x4e], al
sub esp, 8
mov dword [esp], 0x9bcfc05c
mov dword [esp + 4], 5
call fcn.0041a050
add esp, 8
xor eax, 0x4d
xor al, 0x3a
mov byte [esi + 0x4f], al
mov dword [esi + 0x18], 0
mov eax, dword [esi + 0x18]
cmp eax, 0x1c
jae 0x41871a
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [esi + ecx + 0x34]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0041a4f0
add esp, 8
mov ecx, dword [esi + 0x18]
mov byte [esi + ecx + 0x34], al
mov eax, dword [esi + 0x18]
inc eax
mov dword [esi + 0x18], eax
jmp 0x4186e5
sub esp, 0xc
lea eax, [esi + 0x34]
mov dword [esp + 8], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00413e20
add esp, 0xc
mov cl, byte [esi + 3]
or cl, al
and cl, 1
mov byte [esi + 3], cl
xor eax, eax
cmp dword [ebp + 0x10], 0
sete al
mov dword [esi + 0x280], eax
mov eax, dword [esi + 0x284]
mov ecx, dword [esi + 0x280]
mov ecx, dword [eax + ecx*4]
push eax
mov eax, esp
mov dword [eax], 0x445d50
push eax
mov edx, esp
mov dword [edx], 0x27
push eax
mov edi, esp
mov dword [esi + 0x1c0], edi
mov dword [edi], 0x445e50
push eax
mov dword [esi + 0x1b0], esp
push eax
mov edi, esp
mov dword [esi + 0x1b4], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1a4], edi
mov dword [edi], 0xe
push eax
mov edi, esp
mov dword [esi + 0x1bc], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1ac], edi
mov dword [edi], 0xf
push eax
mov edi, esp
mov dword [esi + 0x1b8], edi
mov dword [edi], 0x445e58
push eax
mov dword [esi + 0x1a8], esp
push eax
mov edi, esp
mov dword [esi + 0x1c8], edi
mov dword [edi], 0x445e60
push eax
mov dword [esi + 0x1c4], esp
push eax
mov edi, esp
mov dword [esi + 0x1d8], edi
mov dword [edi], 0x445e68
push eax
mov dword [esi + 0x1d0], esp
push eax
mov edi, esp
mov dword [esi + 0x1d4], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1cc], edi
mov dword [edi], 0x13
push eax
mov edi, esp
mov dword [esi + 0x248], edi
mov dword [edi], 0x445e70
push eax
mov dword [esi + 0x244], esp
push eax
mov edi, esp
mov dword [esi + 0x240], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x23c], edi
mov dword [edi], 0x1d
push eax
mov edi, esp
mov dword [esi + 0x238], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x234], edi
mov dword [edi], 0x16
push eax
mov edi, esp
mov dword [esi + 0x230], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x22c], edi
mov dword [edi], 0x17
push eax
mov edi, esp
mov dword [esi + 0x228], edi
mov dword [edi], 0x445e78
push eax
mov dword [esi + 0x224], esp
push eax
mov edi, esp
mov dword [esi + 0x220], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x21c], edi
mov dword [edi], 0x1c
push eax
mov edi, esp
mov dword [esi + 0x218], edi
mov dword [edi], 0x445e80
push eax
mov dword [esi + 0x214], esp
push eax
mov edi, esp
mov dword [esi + 0x210], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x20c], edi
mov dword [edi], 0x1b
push eax
mov edi, esp
mov dword [esi + 0x208], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x204], edi
mov dword [edi], 0x1c
push eax
mov edi, esp
mov dword [esi + 0x200], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1f8], edi
mov dword [edi], 0x13
push eax
mov edi, esp
mov dword [esi + 0x1fc], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1ec], edi
mov dword [edi], 0x1e
push eax
mov edi, esp
mov dword [esi + 0x1f4], edi
mov dword [edi], 0x445e88
push eax
mov dword [esi + 0x1e8], esp
push eax
mov edi, esp
mov dword [esi + 0x1f0], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1e4], edi
mov dword [edi], 0x20
push eax
mov edi, esp
mov dword [esi + 0x1e0], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x1dc], edi
mov dword [edi], 0x21
push eax
mov ebx, esp
mov dword [esi + 0x270], ebx
mov dword [ebx], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x260], edi
mov dword [edi], 0x22
push eax
mov edi, esp
mov dword [esi + 0x268], edi
mov dword [edi], 0x445e90
push eax
mov dword [esi + 0x258], esp
push eax
mov edi, esp
mov dword [esi + 0x25c], edi
mov dword [edi], 0x445e98
push eax
mov dword [esi + 0x254], esp
push eax
mov ebx, esp
mov dword [esi + 0x27c], ebx
mov dword [ebx], 0x445ea0
push eax
mov dword [esi + 0x278], esp
push eax
mov ebx, esp
mov dword [esi + 0x274], ebx
mov dword [ebx], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x264], edi
mov dword [edi], 0x26
push eax
mov ebx, esp
mov dword [ebx], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x26c], edi
mov dword [edi], 0x27
push eax
mov edi, esp
mov dword [esi + 0x250], edi
mov dword [edi], 0x445d50
push eax
mov edi, esp
mov dword [esi + 0x24c], edi
mov dword [edi], 0x24
jmp ecx