Function at 0x404890
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x130
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x10], 0x24
mov dword [ebp - 0x28], 3
mov dword [ebp - 0x40], 0x56
mov dword [ebp - 0x34], 0x3c
mov dword [ebp - 0x18], 0x1d
mov dword [ebp - 4], 0x28
mov dword [ebp - 0x14], 0x24
mov dword [ebp - 0x2c], 0x2a
mov dword [ebp - 0xc], 7
mov dword [ebp - 0x50], 0x3d
mov dword [ebp - 0x44], 0x50
mov dword [ebp - 0x24], 0x35
mov dword [ebp - 0x1c], 0x5c
mov dword [ebp - 0x54], 0x24
mov dword [ebp - 0x3c], 0x14
mov dword [ebp - 0x5c], 0x4a
mov dword [ebp - 0x88], 0x13
mov dword [ebp - 0x38], 0xb
mov dword [ebp - 0x20], 0x2f
mov dword [ebp - 0x58], 0x11
mov dword [ebp - 8], 0x26
mov dword [ebp - 0x4c], 0x21
mov dword [ebp - 0x48], 8
mov eax, dword [ebp - 0x30]
add eax, 0x19
push eax
mov ecx, dword [str.41OU]
sub ecx, 0x1f
push ecx
mov edx, dword [0x588fe8]
add edx, 0xb
push edx
mov eax, dword [ebp - 4]
add eax, 0x23
push eax
mov ecx, dword [ebp - 0x1c]
sub ecx, 0x4a
push ecx
mov edx, dword [ebp - 0x28]
add edx, 0xc
push edx
mov eax, dword [ebp - 0x4c]
add eax, 0x39
push eax
mov ecx, dword [ebp - 8]
sub ecx, 0x24
push ecx
mov edx, dword [ebp - 0x20]
add edx, 0x14
push edx
call fcn.0040c130
add esp, 0x24
mov eax, dword [0x588fe4]
sub eax, 0x36
push eax
mov ecx, dword [0x591a94]
add ecx, 0x47
push ecx
mov edx, dword [ebp - 0x40]
sub edx, 0x4a
push edx
mov eax, dword [ebp - 0x54]
add eax, 0xf
push eax
call fcn.004110c0
add esp, 0x10
mov ecx, dword [ebp + 0x18]
add ecx, 0x1390
xor ecx, 0x8f8f
xor ecx, 0x1b3a
mov edx, dword [ebp + 0xc]
xor edx, 0xb3b
and edx, 0xd006
xor edx, 0x900d
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov eax, dword [ebp - 0x4c]
add eax, 1
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x21
push ecx
mov edx, dword [ebp - 0x24]
sub edx, 0x1f
push edx
mov eax, dword [ebp - 0x40]
sub eax, 0x55
push eax
mov ecx, dword [ebp - 0x48]
add ecx, 0x4c
push ecx
mov edx, dword [ebp - 0xc]
add edx, 0x38
push edx
mov eax, dword [ebp - 0x50]
sub eax, 0x39
push eax
call fcn.0040fe00
add esp, 0x1c
mov dword [ebp - 0x60], 0
jmp 0x404a35
mov ecx, dword [ebp - 0x60]
add ecx, 1
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x44]
sub edx, 0x4f
cmp dword [ebp - 0x60], edx
jge 0x404b9c
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x1c]
jge 0x404a58
mov dword [ebp - 0x8c], 1
jmp 0x404a62
mov dword [ebp - 0x8c], 0
mov ecx, dword [0x588fbc]
cmp ecx, dword [ebp - 0x50]
jge 0x404a79
mov dword [ebp - 0x90], 1
jmp 0x404a83
mov dword [ebp - 0x90], 0
mov edx, dword [ebp - 0x8c]
and edx, dword [ebp - 0x14]
xor edx, dword [ebp - 0x90]
je 0x404b97
mov eax, dword [str.41OU]
sub eax, 1
mov dword [str.41OU], eax
mov ecx, dword [ebp - 0x24]
cmp ecx, dword [str.41OU]
jge 0x404abc
mov dword [ebp - 0x94], 1
jmp 0x404ac6
mov dword [ebp - 0x94], 0
mov edx, dword [0x588fc4]
cmp edx, dword [ebp - 0x50]
jge 0x404add
mov dword [ebp - 0x98], 1
jmp 0x404ae7
mov dword [ebp - 0x98], 0
mov eax, dword [ebp - 0x94]
and eax, dword [0x588fe8]
or eax, dword [ebp - 0x98]
je 0x404b97
mov ecx, dword [0x591a94]
add ecx, 1
mov dword [0x591a94], ecx
mov edx, dword [0x591a94]
imul edx, dword [ebp - 0x40]
cmp edx, dword [ebp - 0x2c]
jge 0x404b29
mov dword [ebp - 0x9c], 1
jmp 0x404b33
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x3c]
jge 0x404b47
mov dword [ebp - 0xa0], 1
jmp 0x404b51
mov dword [ebp - 0xa0], 0
mov ecx, dword [0x588fdc]
cmp ecx, dword [ebp - 0x28]
jge 0x404b68
mov dword [ebp - 0xa4], 1
jmp 0x404b72
mov dword [ebp - 0xa4], 0
mov edx, dword [ebp - 0x9c]
or edx, dword [0x588fe8]
mov eax, dword [ebp - 0xa0]
and eax, dword [ebp - 0xa4]
or edx, eax
je 0x404b97
mov ecx, dword [ebp - 8]
add ecx, 1
mov dword [ebp - 8], ecx
jmp 0x404a2c
mov edx, dword [ebp + 0x14]
or edx, 0x1606
xor edx, 0xd601
mov eax, dword [ebp + 0xc]
or eax, 0x73b7
xor eax, 0xffe6
mov byte [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], dl
mov dword [ebp - 0x64], 0
jmp 0x404bd0
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [0x588f88]
sub edx, 0x24
cmp dword [ebp - 0x64], edx
jge 0x404be9
mov eax, dword [ebp - 0x10]
add eax, 1
mov dword [ebp - 0x10], eax
jmp 0x404bc7
mov ecx, dword [ebp + 0x18]
xor ecx, 0x1021
xor ecx, 0x91d8
mov edx, dword [ebp + 0x10]
and edx, 0x42
xor edx, 0x54
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov dword [ebp - 0x68], 0
jmp 0x404c19
mov eax, dword [ebp - 0x68]
add eax, 1
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x186d5
cmp dword [ebp - 0x68], ecx
jge 0x404c90
mov edx, dword [ebp - 0xc]
and edx, dword [ebp - 8]
mov dword [ebp - 0x104], edx
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
cmp dword [ebp - 0x104], 0
je 0x404c8e
mov ecx, dword [0x588fe8]
sub ecx, dword [ebp - 0xc]
cmp ecx, dword [0x588fc0]
jge 0x404c62
mov dword [ebp - 0xa8], 1
jmp 0x404c6c
mov dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0x38]
add edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0x4c]
add eax, dword [0x591a94]
or edx, eax
je 0x404c8e
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x404c10
mov edx, dword [ebp - 0x30]
add edx, 0x54
push edx
mov eax, dword [ebp - 0x2c]
add eax, 0x21
push eax
mov ecx, dword [0x588fbc]
add ecx, 0x40
push ecx
mov edx, dword [0x588fd4]
add edx, 0x29
push edx
mov eax, dword [0x588fdc]
sub eax, 0x18
push eax
call fcn.00419760
add esp, 0x14
mov ecx, dword [ebp + 0xc]
add ecx, 0x3771
xor ecx, 0xf553
mov edx, dword [ebp + 0x10]
add edx, 0x404d
xor edx, 0x6146
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov eax, dword [ebp - 0x2c]
add eax, 0x13
push eax
mov ecx, dword [0x588fc4]
sub ecx, 0xc
push ecx
mov edx, dword [0x591a94]
add edx, 0x4e
push edx
mov eax, dword [ebp - 0x20]
sub eax, 4
push eax
mov ecx, dword [0x588fe4]
sub ecx, 0x22
push ecx
call fcn.00427b50
add esp, 0x14
mov dword [ebp - 0x6c], 0
jmp 0x404d2d
mov edx, dword [ebp - 0x6c]
add edx, 1
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x2c]
sub eax, 0x186ca
cmp dword [ebp - 0x6c], eax
jge 0x404d45
mov ecx, dword [ebp - 0x48]
add ecx, 1
mov dword [ebp - 0x48], ecx
jmp 0x404d24
mov edx, dword [ebp + 0x18]
and edx, 0x84d7
sub edx, 0xa6de
xor edx, 0xffffd98d
mov eax, dword [ebp + 0x10]
add eax, 0x10da
xor eax, 0x31c4
mov byte [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], dl
mov dword [ebp - 0x70], 0
jmp 0x404d7f
mov ecx, dword [ebp - 0x70]
add ecx, 1
mov dword [ebp - 0x70], ecx
mov edx, dword [0x588fa8]
sub edx, 0x5a
cmp dword [ebp - 0x70], edx
jge 0x404dd2
mov eax, dword [0x588fdc]
and eax, dword [ebp - 0x24]
and eax, dword [0x588fe8]
xor eax, dword [ebp - 4]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
cmp dword [ebp - 0x108], 0
je 0x404dd0
mov edx, dword [0x588fc0]
add edx, dword [0x588fc4]
cmp edx, dword [ebp - 0x1c]
jge 0x404dd0
mov eax, dword [ebp - 0xc]
sub eax, 1
mov dword [ebp - 0xc], eax
jmp 0x404d76
mov ecx, 0x10085
sub ecx, dword [ebp + 0xc]
or ecx, 0x1e65
xor ecx, 0x5e82
mov edx, dword [ebp + 0x14]
or edx, 0x92eb
xor edx, 0xd6e7
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov eax, dword [ebp - 0x20]
imul eax, dword [0x588fe4]
cmp eax, dword [ebp - 0x1c]
jge 0x404e16
mov dword [ebp - 0xac], 1
jmp 0x404e20
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 4]
jge 0x404e34
mov dword [ebp - 0xb0], 1
jmp 0x404e3e
mov dword [ebp - 0xb0], 0
mov edx, dword [ebp - 0xac]
and edx, dword [0x591a94]
or edx, dword [ebp - 0xb0]
je 0x404ee1
mov eax, dword [ebp - 4]
imul eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x34]
jge 0x404e6e
mov dword [ebp - 0xb4], 1
jmp 0x404e78
mov dword [ebp - 0xb4], 0
mov ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x10c], ecx
mov edx, dword [0x588fbc]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x44]
add eax, 1
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x10c]
cmp ecx, dword [ebp - 0x110]
jge 0x404eb3
mov dword [ebp - 0xb8], 1
jmp 0x404ebd
mov dword [ebp - 0xb8], 0
mov edx, dword [ebp - 0xb4]
and edx, dword [ebp - 0xb8]
mov eax, dword [0x588fe8]
and eax, dword [0x588fbc]
or edx, eax
je 0x404ee1
mov ecx, dword [ebp - 0x14]
sub ecx, 1
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp + 0x20]
xor edx, 0x3338
xor edx, 0x6063
mov eax, 0xfa72
sub eax, dword [ebp + 0x18]
and eax, 0x2e7e
xor eax, 0x283d
mov byte [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], dl
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp + 0x10]
and edx, 0x15733
xor edx, 0xb5
mov eax, dword [ebp + 0x14]
and eax, 0x3640
xor eax, 0x6806
xor eax, 0x6c1e
mov byte [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], dl
mov dword [ebp - 0x74], 0
jmp 0x404f4a
mov ecx, dword [ebp - 0x74]
add ecx, 1
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0xc]
sub edx, 0x186a6
cmp dword [ebp - 0x74], edx
jge 0x404fd0
mov eax, dword [0x588fc0]
add eax, dword [0x588fc4]
mov ecx, dword [0x588fd4]
xor ecx, dword [ebp - 0x44]
and eax, ecx
je 0x404fcb
mov edx, dword [ebp - 0x28]
cmp edx, dword [ebp - 0x48]
jge 0x404f84
mov dword [ebp - 0xbc], 1
jmp 0x404f8e
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x14]
jge 0x404fa2
mov dword [ebp - 0xc0], 1
jmp 0x404fac
mov dword [ebp - 0xc0], 0
mov ecx, dword [ebp - 0xbc]
or ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x34]
xor edx, dword [ebp - 0x10]
or ecx, edx
je 0x404fcb
mov eax, dword [ebp - 0x5c]
sub eax, 1
mov dword [ebp - 0x5c], eax
jmp 0x404f41
mov ecx, dword [ebp - 0x3c]
add ecx, 0x32
push ecx
mov edx, dword [0x588fe8]
add edx, 0xe
push edx
mov eax, dword [ebp - 0x30]
add eax, 0x2e
push eax
mov ecx, dword [ebp - 8]
add ecx, 0x23
push ecx
call fcn.0041e600
add esp, 0x10
mov edx, dword [ebp - 8]
cmp edx, dword [ebp - 0x48]
jge 0x40500b
mov dword [ebp - 0xc4], 1
jmp 0x405015
mov dword [ebp - 0xc4], 0
mov eax, dword [ebp - 0x4c]
xor eax, dword [ebp - 0xc4]
je 0x405143
mov ecx, dword [ebp - 0x88]
cmp ecx, dword [0x591a94]
jge 0x40503e
mov dword [ebp - 0xc8], 1
jmp 0x405048
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0x5c]
or edx, dword [ebp - 0x24]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 1
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x114]
cmp edx, dword [ebp - 0x118]
jge 0x405080
mov dword [ebp - 0xcc], 1
jmp 0x40508a
mov dword [ebp - 0xcc], 0
mov eax, dword [0x588fc0]
cmp eax, dword [ebp - 0x40]
jge 0x4050a0
mov dword [ebp - 0xd0], 1
jmp 0x4050aa
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0xc8]
or ecx, dword [ebp - 0xcc]
or ecx, dword [ebp - 0xd0]
je 0x405143
mov edx, dword [0x588fe4]
imul edx, dword [0x588fdc]
cmp edx, dword [0x588f88]
jge 0x4050e3
mov dword [ebp - 0xd4], 1
jmp 0x4050ed
mov dword [ebp - 0xd4], 0
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x10]
sub edx, 1
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x11c]
cmp eax, dword [ebp - 0x120]
jge 0x405122
mov dword [ebp - 0xd8], 1
jmp 0x40512c
mov dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xd4]
and ecx, dword [ebp - 0xd8]
je 0x405143
mov edx, dword [ebp - 0x54]
sub edx, 1
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x20]
jge 0x405157
mov dword [ebp - 0xdc], 1
jmp 0x405161
mov dword [ebp - 0xdc], 0
mov ecx, dword [0x588fe4]
sub ecx, dword [ebp - 0x44]
and ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x34]
sub edx, dword [0x588fbc]
or ecx, edx
je 0x40518a
mov eax, dword [0x588fbc]
add eax, 1
mov dword [0x588fbc], eax
mov ecx, dword [ebp + 8]
xor ecx, 0x26aa
xor ecx, 0xde6
mov edx, dword [ebp + 8]
and edx, 0xa6e3
xor edx, 0x2217
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov eax, dword [0x588f88]
cmp eax, dword [ebp - 0x18]
jge 0x4051c1
mov ecx, dword [ebp - 8]
sub ecx, 1
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x5c]
sub eax, 0xf
push eax
mov ecx, dword [ebp - 0x30]
sub ecx, 0xe
push ecx
mov edx, dword [ebp - 0x10]
add edx, 0x3f
push edx
mov eax, dword [ebp - 0x20]
sub eax, 0x2f
push eax
call fcn.004269b0
add esp, 0x10
call fcn.00417930
mov ecx, dword [ebp - 0x2c]
sub ecx, 1
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp + 0x10]
xor edx, 0x39df
xor edx, 0x636f754f
mov eax, 0xb442
sub eax, dword [ebp + 0xc]
xor eax, 0xfffff664
mov dword [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], edx
mov ecx, dword [ebp - 0x54]
add ecx, 0xc
push ecx
mov edx, dword [ebp - 0x48]
add edx, 0x13
push edx
mov eax, dword [ebp - 0x1c]
sub eax, 0x5b
push eax
mov ecx, dword [0x588fd4]
add ecx, 0x50
push ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x20
push edx
mov eax, dword [str.41OU]
sub eax, 0x10
push eax
mov ecx, dword [0x588fe4]
sub ecx, 0x31
push ecx
mov edx, dword [ebp - 0x50]
sub edx, 4
push edx
call fcn.00424260
add esp, 0x20
mov eax, dword [0x588f88]
cmp eax, dword [ebp - 0xc]
jge 0x405279
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
mov dword [ebp - 0x78], 0
jmp 0x40528b
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x186cf
cmp dword [ebp - 0x78], eax
jge 0x4052fc
mov ecx, dword [0x588fbc]
cmp ecx, dword [ebp - 0x10]
jge 0x4052af
mov dword [ebp - 0xe0], 1
jmp 0x4052b9
mov dword [ebp - 0xe0], 0
mov edx, dword [ebp - 0x28]
add edx, dword [0x588fa8]
cmp edx, dword [ebp - 0x34]
jge 0x4052d3
mov dword [ebp - 0xe4], 1
jmp 0x4052dd
mov dword [ebp - 0xe4], 0
mov eax, dword [ebp - 0xe0]
and eax, dword [ebp - 0xe4]
and eax, dword [ebp - 0x14]
xor eax, dword [ebp - 0x38]
je 0x4052fa
mov ecx, dword [ebp - 0xc]
sub ecx, 1
mov dword [ebp - 0xc], ecx
jmp 0x405282
mov edx, dword [ebp + 0x14]
add edx, 0xaa3
xor edx, 0x416cbaf4
mov eax, dword [ebp + 0x18]
sub eax, 0x5817
xor eax, 0x292d
mov dword [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], edx
mov ecx, dword [ebp - 0x28]
add ecx, 0x31
push ecx
mov edx, dword [ebp - 4]
add edx, 0x2a
push edx
mov eax, dword [ebp - 0x38]
add eax, 1
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x2d
push ecx
mov edx, dword [ebp - 4]
add edx, 0x2c
push edx
mov eax, dword [0x588fc0]
add eax, 0x29
push eax
mov ecx, dword [0x588fe4]
sub ecx, 0x32
push ecx
call fcn.00413a20
add esp, 0x1c
mov edx, dword [ebp + 0x20]
add edx, 0xe8a4
xor edx, 0x13cde
mov eax, dword [ebp + 0x18]
or eax, 0xffffe737
xor eax, 0xe78b
xor eax, 0xffff00ea
mov byte [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], dl
mov ecx, dword [str.41OU]
sub ecx, 1
mov dword [str.41OU], ecx
mov dword [ebp - 0x7c], 0
jmp 0x4053a7
mov edx, dword [ebp - 0x7c]
add edx, 1
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x10]
sub eax, 0x23
cmp dword [ebp - 0x7c], eax
jge 0x4053c3
mov ecx, dword [0x591a94]
add ecx, 1
mov dword [0x591a94], ecx
jmp 0x40539e
mov edx, dword [ebp - 0x30]
add edx, 1
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
add eax, 0x27
push eax
mov ecx, dword [0x588fe8]
add ecx, 0xe
push ecx
mov edx, dword [0x588fbc]
add edx, 0x30
push edx
mov eax, dword [ebp - 0x34]
sub eax, 1
push eax
call fcn.0041f950
add esp, 0x10
mov ecx, dword [ebp + 0xc]
xor ecx, 0x7cf0
xor ecx, 0xc162
mov edx, dword [ebp + 0xc]
or edx, 0xbdd0
xor edx, 0xa15d
xor edx, 0x1ca1
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov dword [ebp - 0x80], 0
jmp 0x405432
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x80], eax
mov ecx, dword [0x591a94]
sub ecx, 0x186a2
cmp dword [ebp - 0x80], ecx
jge 0x40544e
mov edx, dword [ebp - 0x38]
sub edx, 1
mov dword [ebp - 0x38], edx
jmp 0x405429
mov eax, dword [ebp + 0x10]
or eax, 0x5b77
sub eax, 0x15ae9
xor eax, 0xffff21d6
mov ecx, 0xaff8
sub ecx, dword [ebp + 0x1c]
xor ecx, 0xffffe77e
mov byte [ecx + str.AiASgIrbRZcwiQUyGyodYpUWj], al
mov dword [ebp - 0x84], 0
jmp 0x40548f
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
mov eax, dword [0x588fe0]
sub eax, 0x186ef
cmp dword [ebp - 0x84], eax
jge 0x4054b2
mov ecx, dword [str.41OU]
add ecx, 1
mov dword [str.41OU], ecx
jmp 0x405480
mov edx, dword [ebp + 0x18]
and edx, 0xb83b
xor edx, 0x4865f461
mov eax, dword [ebp + 0x20]
add eax, 0xc241
and eax, 0x88d1
xor eax, 0x98
mov dword [eax + str.AiASgIrbRZcwiQUyGyodYpUWj], edx
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [0x588fbc]
jge 0x4054f0
mov dword [ebp - 0xe8], 1
jmp 0x4054fa
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0x4c]
cmp edx, dword [0x588fc4]
jge 0x405511
mov dword [ebp - 0xec], 1
jmp 0x40551b
mov dword [ebp - 0xec], 0
mov eax, dword [ebp - 8]
sub eax, 1
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 8]
cmp ecx, dword [0x588fc0]
jge 0x40553b
mov dword [ebp - 0xf0], 1
jmp 0x405545
mov dword [ebp - 0xf0], 0
mov edx, dword [ebp - 0xe8]
and edx, dword [ebp - 0xec]
or edx, dword [ebp - 0xf0]
je 0x405594
mov eax, dword [ebp - 8]
cmp eax, dword [0x588fe0]
jge 0x405570
mov dword [ebp - 0xf4], 1
jmp 0x40557a
mov dword [ebp - 0xf4], 0
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0xf4]
je 0x405594
mov edx, dword [str.41OU]
sub edx, 1
mov dword [str.41OU], edx
mov eax, dword [ebp - 0x2c]
add eax, 0x11
push eax
mov ecx, dword [0x588fd4]
sub ecx, 0x12
push ecx
mov edx, dword [ebp - 0x20]
add edx, 0x34
push edx
mov eax, dword [ebp - 0x18]
sub eax, 0x1e
push eax
call fcn.004269b0
add esp, 0x10
mov ecx, 0xd91b
sub ecx, dword [ebp + 0x14]
xor ecx, 0x153f
mov edx, dword [ebp + 0x20]
and edx, 0x15f6c
xor edx, 0x5359
mov byte [edx + str.AiASgIrbRZcwiQUyGyodYpUWj], cl
mov eax, dword [ebp - 0x58]
add eax, 0x36
push eax
mov ecx, dword [ebp - 0xc]
add ecx, 9
push ecx
mov edx, dword [ebp - 0x58]
add edx, 0x2c
push edx
mov eax, dword [ebp - 0x50]
add eax, 0xc
push eax
call fcn.0041e600
add esp, 0x10
mov eax, str.AiASgIrbRZcwiQUyGyodYpUWj
jmp 0x4057ba
mov esp, ebp
pop ebp
ret