Function at 0x1500b9b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa8
mov eax, dword [0x15049cf8]
xor eax, esp
mov dword [esp + 0xa4], eax
push ebx
push esi
mov esi, dword [esp + 0xb8]
test esi, esi
push edi
mov edi, dword [esp + 0xb8]
mov ebx, ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], esi
je 0x1500b9ed
mov dword [esi], 0
mov eax, edi
neg eax
sbb eax, eax
jne 0x1500ba03
push 0x57
call sym.Storm.dll_Ordinal_465
xor eax, eax
jmp 0x1500c8a2
push edi
call sym.Storm.dll_Ordinal_506
cmp eax, 3
jae 0x1500ba23
test esi, esi
je 0x1500ba14
mov dword [esi], edi
lea ecx, [ebx + 0xc]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a2
lea eax, [esp + 0x5c]
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
push ebp
mov ecx, dword [esp + 0x40]
xor eax, eax
xor ebp, ebp
xor ebx, ebx
xor edi, edi
cmp byte [ecx], 0
je 0x1500baa5
mov esi, ecx
add esi, 1
lea ebx, [ebx]
mov dl, byte [esi - 1]
mov ecx, dword [esp + 0x1c]
cmp dl, byte [ecx + 0x15042009]
jne 0x1500ba92
mov dl, byte [esi]
cmp dl, 0x3d
je 0x1500ba8b
test dl, dl
je 0x1500ba7e
mov ecx, str.1234
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500ba7e
cmp byte [esi + 1], 0x3d
je 0x1500ba8b
test ebx, ebx
mov eax, 1
jne 0x1500ba92
mov ebp, eax
jmp 0x1500ba92
mov eax, 1
mov edi, eax
cmp byte [esi - 1], 0x20
jne 0x1500ba9c
mov ebx, edi
xor edi, edi
add esi, 1
cmp byte [esi - 1], 0
jne 0x1500ba50
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
ja case.0x1500bab5.4
movzx edx, byte [ecx + 0x1500c8cc]
jmp dword [edx*4 + 0x1500c8bc]
mov eax, dword [esp + 0x28]
mov dword [eax], 1
jmp 0x1500baf5
neg eax
sbb eax, eax
and eax, 3
jmp 0x1500baef
mov eax, dword [esp + 0x28]
mov dword [eax], 2
jmp 0x1500baf5
test eax, eax
je 0x1500baed
xor eax, eax
test ebp, ebp
setne al
add eax, 1
jmp 0x1500baef
xor eax, eax
mov edx, dword [esp + 0x28]
mov dword [edx], eax
add dword [esp + 0x28], 4
add ecx, 1
cmp ecx, 9
mov dword [esp + 0x1c], ecx
jl 0x1500ba34
mov ecx, dword [esp + 0x30]
add ecx, 0xc
mov dword [esp + 0x38], ecx
call fcn.1500b880
mov ebp, dword [esp + 0x40]
mov byte [esp + 0x14], 0
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
mov edi, dword [esp + 0x14]
mov byte [esp + 0xac], 0
mov byte [esp + 0xad], 0
mov byte [esp + 0xae], 0
mov byte [esp + 0xaf], 0
mov byte [esp + 0xb0], 0
mov dword [esp + 0x44], ebp
mov byte [esp + 0x20], 0
mov byte [esp + 0x21], 0
mov byte [esp + 0x22], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x28], 0
mov dword [esp + 0x1c], 4
mov dl, byte [ebp]
test dl, dl
je 0x1500bc03
cmp ebp, dword [esp + 0x40]
je 0x1500bb96
cmp byte [ebp - 1], 0x20
jne 0x1500bbb4
mov ecx, 0x15042128
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500bbb4
movsx eax, byte [ebp]
sub eax, 0x30
mov dword [esp + 0x1c], eax
jmp 0x1500c106
mov dl, byte [ebp]
test dl, dl
je 0x1500bc03
mov ecx, str._
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500bbd5
mov al, byte [ebp]
mov byte [esp + 0x28], al
jmp 0x1500c106
mov dl, byte [ebp]
test dl, dl
je 0x1500bc03
cmp dl, 0x20
je 0x1500bbf3
mov ecx, str.WSDTABC01
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500c313
mov dl, byte [ebp]
test dl, dl
je 0x1500bc03
cmp dl, 0x20
je 0x1500bc03
xor eax, eax
jmp 0x1500bc08
mov eax, 1
xor bl, bl
test eax, eax
mov dword [esp + 0x34], eax
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], bl
mov byte [esp + 0x26], bl
mov byte [esp + 0x27], bl
jne 0x1500bcdb
mov ecx, str._WDSTABC01
call sym.Storm.dll_Ordinal_569
mov ebx, eax
mov ecx, str._WDSTABC01
sub bl, cl
movzx edx, bl
cmp dword [esp + edx*4 + 0x5c], 3
mov byte [esp + 0x24], bl
sete byte [esp + 0x27]
lea ebx, [ebx]
mov dl, byte [ebp + 1]
xor esi, esi
test dl, dl
je 0x1500bc8b
mov ecx, str.WABC
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500bc8b
mov dl, byte [ebp + 1]
mov ecx, str._WDSTABC01
call sym.Storm.dll_Ordinal_569
mov ecx, str._WDSTABC01
sub al, cl
add ebp, 1
mov byte [esp + 0x26], al
mov dword [esp + 0x44], ebp
mov esi, 1
mov dl, byte [ebp + 1]
test dl, dl
je 0x1500bcb3
mov ecx, str.1234
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500bcb3
mov dl, byte [ebp + 1]
sub dl, 0x30
add ebp, 1
mov byte [esp + 0x25], dl
mov dword [esp + 0x44], ebp
jmp 0x1500bcb7
test esi, esi
je 0x1500bcdb
cmp bl, 8
je 0x1500bcc1
cmp bl, 9
jne 0x1500bc50
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1500bccb
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
mov al, byte [esp + 0x20]
test al, al
jne 0x1500bd35
cmp byte [ebp + 1], 0x3d
jne 0x1500bd0d
cmp bl, 8
je 0x1500c32d
cmp bl, 9
je 0x1500c32d
mov eax, dword [esp + 0x24]
add ebp, 1
mov dword [esp + 0x20], eax
xor edi, edi
jmp 0x1500c0fd
cmp dword [esp + 0x34], 0
jne 0x1500c106
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1500bd25
add ebp, 1
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
cmp byte [esp + 0x14], 0
jne 0x1500bd45
mov edi, dword [esp + 0x24]
jmp 0x1500c0fd
cmp dword [esp + 0x34], 0
je 0x1500bd5a
movzx ecx, al
cmp dword [esp + ecx*4 + 0x5c], 3
jne 0x1500c01f
mov dword [esp + 0x2c], 0
xor esi, esi
mov dword [esp + 0x50], esi
jmp 0x1500bd70
cmp dword [esp + 0x2c], 0
lea edi, [esp + 0x24]
jne case.default.0x1500bd83
lea edi, [esp + 0x14]
mov dword [esp + 0x58], edi
jmp dword [esi*4 + 0x1500c8d8]
mov ebx, 2
lea eax, [ebx + 1]
jmp 0x1500bdb8
movzx edx, byte [edi]
cmp edx, ebx
jne 0x1500bff3
cmp dword [esp + ebx*4 + 0x5c], eax
jne 0x1500bff3
test esi, esi
je 0x1500bdf8
cmp esi, 1
je 0x1500bdf8
cmp esi, 2
je 0x1500bdf8
cmp byte [esp + 0x28], 0
je 0x1500bdf8
mov dl, byte [esp + 0x28]
mov ecx, str._
call sym.Storm.dll_Ordinal_569
test eax, eax
jne 0x1500bff3
mov al, byte [esp + esi + 0xac]
test al, al
je 0x1500be14
cmp byte [edi + 2], 0
jne 0x1500be14
mov byte [edi], al
mov byte [edi + 3], 0
jmp 0x1500bff3
movzx eax, bl
mov dl, byte [eax + str._WDSTABC01]
mov al, byte [ebp + 1]
test al, al
lea ecx, [ebp + 1]
je 0x1500be3b
cmp al, dl
jne 0x1500be31
cmp byte [ecx + 1], 0x3d
jne 0x1500be87
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x1500be27
xor eax, eax
test eax, eax
mov dword [esp + 0x48], eax
mov byte [esp + 0x13], 0
jne 0x1500be55
cmp byte [esp + 0x14], 1
jne 0x1500bf37
mov bl, 9
cmp bl, 1
je 0x1500be7d
movzx ecx, bl
mov eax, dword [esp + ecx*4 + 0x5c]
test eax, eax
je 0x1500be94
cmp eax, 1
jne 0x1500be7d
mov dl, byte [ecx + str._WDSTABC01]
mov ecx, ebp
call sym.Storm.dll_Ordinal_569
test eax, eax
je 0x1500be94
add bl, 0xff
cmp bl, 1
jae 0x1500be5a
jmp 0x1500bea0
cmp byte [edi + 2], 0
jne 0x1500be3b
mov eax, 1
jmp 0x1500be3d
test bl, bl
mov byte [esp + 0x13], bl
jne 0x1500bf92
mov bl, 9
mov dword [esp + 0x54], 9
lea edi, [esp + 0x80]
cmp dword [edi], 4
jne 0x1500bf20
xor al, al
xor esi, esi
mov edi, edi
cmp byte [esp + esi + 0xac], bl
jne 0x1500bee0
mov dl, byte [esi + str.DST01]
mov ecx, str._WDSTABC01
call sym.Storm.dll_Ordinal_569
mov ecx, str._WDSTABC01
sub al, cl
add esi, 1
cmp esi, 5
jl 0x1500bec0
test al, al
je 0x1500bf20
movzx edx, al
mov al, byte [ebp]
test al, al
mov dl, byte [edx + str._WDSTABC01]
mov ecx, ebp
je 0x1500bf18
mov edi, edi
cmp al, dl
jne 0x1500bf0e
cmp byte [ecx + 1], 0x3d
jne 0x1500bf7b
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x1500bf00
mov al, byte [esp + 0x54]
mov byte [esp + 0x13], al
sub dword [esp + 0x54], 1
add bl, 0xff
sub edi, 4
cmp bl, 1
jae 0x1500beb1
cmp byte [esp + 0x13], 0
jne 0x1500bf92
cmp byte [esp + 0x22], 0
mov bl, byte [esp + 0x20]
jne 0x1500bf82
cmp byte [esp + 0x21], 0
jne 0x1500bf82
cmp byte [esp + 0x23], 0
jne 0x1500bf82
movzx ecx, bl
cmp dword [esp + ecx*4 + 0x5c], 1
jne 0x1500bf82
cmp byte [esp + 0x14], bl
je 0x1500bf82
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
push 1
push edx
push ebp
call fcn.1500ad50
test eax, eax
jne 0x1500bf82
mov byte [esp + 0x13], bl
jmp 0x1500bf92
mov byte [esp + 0x13], 0
jmp 0x1500bf20
cmp byte [esp + 0x14], 1
je 0x1500c347
mov byte [esp + 0x13], 1
mov eax, dword [0x1504bb04]
mov edi, dword [esp + 0x58]
mov bl, byte [esp + 0x13]
mov ecx, dword [edi]
mov edx, dword [esp + 0x1c]
push 0
push eax
push ecx
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x58], bl
mov byte [esp + 0x59], 0
mov byte [esp + 0x5a], 0
mov byte [esp + 0x5b], 0
mov esi, dword [esp + 0x58]
push esi
push edx
call fcn.1500b580
cmp dword [esp + 0x48], 0
je 0x1500bfed
cmp bl, 1
je 0x1500bfed
mov eax, dword [esp + 0x50]
movzx ecx, bl
mov byte [esp + eax + 0xac], bl
mov dword [esp + ecx*4 + 0x5c], 4
mov dword [edi], esi
mov esi, dword [esp + 0x50]
add esi, 1
cmp esi, 3
mov dword [esp + 0x50], esi
jle 0x1500bd70
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, 1
mov dword [esp + 0x2c], eax
jle 0x1500bd62
mov edi, dword [esp + 0x14]
mov bl, byte [esp + 0x24]
cmp dword [esp + 0x34], 0
mov byte [esp + 0x18], 1
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 0
je 0x1500c083
mov eax, dword [esp + 0x20]
mov cl, byte [esp + 0x14]
mov dword [esp + 0x18], eax
cmp byte [esp + 0x18], cl
mov dword [esp + 0x20], 0
jne 0x1500c063
mov edx, eax
shr edx, 8
cmp dl, byte [esp + 0x15]
je 0x1500bd06
mov ecx, dword [0x1504bb04]
mov edx, dword [esp + 0x1c]
push 0
push ecx
mov ecx, dword [esp + 0x38]
push edi
push eax
push edx
call fcn.1500b580
xor edi, edi
jmp 0x1500c0fd
movzx esi, byte [esp + 0x20]
mov al, byte [ebp + 1]
test al, al
mov dl, byte [esi + str._WDSTABC01]
lea ecx, [ebp + 1]
je 0x1500c0b4
cmp al, 0x20
je 0x1500c0b4
cmp al, dl
jne 0x1500c0aa
cmp byte [ecx + 1], 0x3d
jne 0x1500c21a
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x1500c098
cmp dword [esp + esi*4 + 0x5c], 3
je 0x1500c21a
cmp byte [esp + 0x22], 0
jne 0x1500c21a
cmp byte [esp + 0x23], 0
jne 0x1500c21a
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x38]
push edi
push ebp
push edx
mov dword [esp + 0x2c], ebp
call fcn.1500b580
mov edi, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x14], edi
mov byte [esp + 0x28], 0
mov al, byte [ebp]
add ebp, 1
test al, al
mov dword [esp + 0x44], ebp
jne 0x1500bb83
mov eax, dword [esp + 0x30]
add eax, 0x10
mov dword [esp + 0x48], eax
mov eax, dword [eax + 4]
test eax, eax
jle 0x1500c4f2
mov ebp, dword [esp + 0x30]
push 3
mov ecx, ebp
call fcn.1500b950
push 4
mov ecx, ebp
mov esi, eax
call fcn.1500b950
push 2
mov ecx, ebp
mov edi, eax
call fcn.1500b950
test esi, esi
mov ebx, eax
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
mov byte [esp + 0x1b], 0
je 0x1500c186
mov eax, dword [0x1504bb04]
push 0x2b
push eax
push eax
mov byte [esp + 0x24], 3
mov ecx, dword [esp + 0x24]
push ecx
push esi
mov ecx, ebp
call fcn.1500b580
test edi, edi
je 0x1500c1a5
mov eax, dword [0x1504bb04]
push 0x2b
push eax
push eax
mov byte [esp + 0x24], 4
mov edx, dword [esp + 0x24]
push edx
push edi
mov ecx, ebp
call fcn.1500b580
test ebx, ebx
je 0x1500c1c4
mov eax, dword [0x1504bb04]
push 0x2b
push eax
push eax
mov byte [esp + 0x24], 2
mov eax, dword [esp + 0x24]
push eax
push ebx
mov ecx, ebp
call fcn.1500b580
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 4]
xor edx, edx
test eax, eax
setle dl
mov ebx, 7
sub edx, 1
and edx, eax
mov edi, edx
jle 0x1500c452
jmp 0x1500c1f0
mov dword [esp + 0x2c], 0
jmp 0x1500c200
cmp dword [esp + 0x2c], 0
je 0x1500c361
lea eax, [edi + 8]
mov dword [esp + 0x34], eax
lea ebp, [edi + 0xc]
jmp 0x1500c36b
cmp byte [esp + 0x14], 1
jne 0x1500c236
cmp byte [esp + 0x16], 0
jne 0x1500c236
cmp byte [esp + 0x17], 0
jne 0x1500c236
mov ebp, edi
jmp 0x1500c0d9
cmp bl, 1
jne 0x1500c252
cmp byte [esp + 0x26], 0
jne 0x1500c252
cmp byte [esp + 0x27], 0
jne 0x1500c252
mov ebp, dword [esp + 0x24]
jmp 0x1500c0d9
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
mov edi, edi
cmp dword [esp + 0x2c], 0
lea edi, [esp + 0x24]
jne 0x1500c26f
lea edi, [esp + 0x14]
cmp byte [edi + 2], 0
jne 0x1500c2f6
cmp byte [edi + 3], 0
jne 0x1500c2f6
mov bl, byte [edi]
movzx edx, bl
mov ecx, dword [esp + edx*4 + 0x5c]
cmp ecx, 1
je 0x1500c296
cmp ecx, 4
jne 0x1500c2f6
cmp ecx, 4
mov al, bl
jne 0x1500c2c8
xor esi, esi
nop
cmp byte [esp + esi + 0xac], bl
jne 0x1500c2c0
mov dl, byte [esi + str.DST01]
mov ecx, str._WDSTABC01
call sym.Storm.dll_Ordinal_569
mov ecx, str._WDSTABC01
sub al, cl
add esi, 1
cmp esi, 5
jl 0x1500c2a0
mov ecx, dword [esp + 0x44]
add ecx, 1
movzx edx, al
mov al, byte [ecx]
test al, al
mov dl, byte [edx + str._WDSTABC01]
je 0x1500c2f4
mov edi, edi
cmp al, dl
jne 0x1500c2ea
cmp byte [ecx + 1], 0x3d
jne 0x1500c2f6
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x1500c2e0
mov ebp, dword [edi]
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, 1
mov dword [esp + 0x2c], eax
jle 0x1500c260
mov edi, dword [esp + 0x14]
jmp 0x1500c0d9
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1500c31d
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1500c337
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x1500c351
mov dword [eax], ebp
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
lea ecx, [edi + 0xc]
mov dword [esp + 0x34], ecx
lea ebp, [edi + 8]
mov edx, dword [esp + 0x34]
cmp byte [edx + 1], 2
jbe 0x1500c41f
mov eax, edx
mov al, byte [eax]
cmp al, byte [ebp + 2]
je 0x1500c4d0
cmp al, byte [ebp]
jne 0x1500c395
cmp byte [ebp + 1], 2
jbe 0x1500c4d0
mov byte [esp + 0x1c], al
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
mov ebx, dword [esp + 0x1c]
xor esi, esi
mov edi, edi
push 8
push 0xfffffffffffffffe
push str.._AUINST__
push 0x18
call sym.Storm.dll_Ordinal_401
test eax, eax
je 0x1500c3d3
mov dword [eax], 0
mov dword [eax + 4], 0
jmp 0x1500c3d5
xor eax, eax
mov edx, esi
neg edx
sbb edx, edx
push edi
mov dword [eax + 8], ebx
mov ecx, dword [0x1504bb04]
add edx, 2
push edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
push eax
mov dword [eax + 0x10], 7
mov dword [eax + 0x14], 4
call fcn.15028c70
add esi, 1
cmp esi, 1
jle 0x1500c3b0
mov eax, dword [esp + 0x34]
add byte [eax + 1], 0xfe
mov cl, byte [ebp]
cmp cl, byte [eax]
jne 0x1500c41f
add byte [ebp + 1], 0xfe
mov eax, dword [esp + 0x2c]
add eax, 1
cmp eax, 1
mov dword [esp + 0x2c], eax
jle 0x1500c200
test edi, edi
jne 0x1500c43e
mov edi, dword [esp + 0x30]
add edi, 0x10
mov edi, dword [edi + 4]
test edi, edi
jg 0x1500c1f0
mov ebp, dword [esp + 0x30]
mov ebx, 7
mov eax, dword [ebp + 0x14]
xor ecx, ecx
test eax, eax
setle cl
sub ecx, 1
and ecx, eax
mov esi, ecx
jle 0x1500c58e
lea esp, [esp]
cmp dword [esi + 0x10], ebx
jne 0x1500c57c
mov eax, dword [esi + 4]
xor edx, edx
test eax, eax
setle dl
sub edx, 1
and eax, edx
test eax, eax
jle 0x1500c57c
cmp dword [eax + 0x10], ebx
jne 0x1500c49d
mov cl, byte [eax + 8]
cmp cl, byte [esi + 8]
je 0x1500c4f9
mov cl, byte [esi + 8]
cmp byte [eax + 8], cl
je 0x1500c57c
cmp byte [eax + 0xc], cl
je 0x1500c57c
cmp byte [eax + 0xa], cl
je 0x1500c57c
cmp byte [eax + 0xe], cl
je 0x1500c57c
mov eax, dword [eax + 4]
test eax, eax
jg 0x1500c490
jmp 0x1500c57c
cmp dword [esp + 0x3c], 0
je 0x1500c4e9
mov esi, dword [esp + 0x40]
push esi
call sym.Storm.dll_Ordinal_506
mov edx, dword [esp + 0x3c]
add eax, esi
mov dword [edx], eax
mov ecx, dword [esp + 0x38]
call fcn.1500b880
xor eax, eax
jmp 0x1500c8a1
mov edi, dword [eax]
test edi, edi
je 0x1500c528
mov edx, dword [eax + 4]
test edx, edx
jg 0x1500c50a
not edx
jmp 0x1500c511
mov ecx, eax
sub ecx, dword [edi + 4]
add edx, ecx
mov dword [edx], edi
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov dword [eax], 0
mov dword [eax + 4], 0
push 0
push 0xfffffffffffffffe
push str.._AUINST__
push eax
call sym.Storm.dll_Ordinal_403
mov ecx, dword [esi]
test ecx, ecx
je 0x1500c566
mov edx, dword [esi + 4]
test edx, edx
jg 0x1500c548
not edx
jmp 0x1500c54f
mov eax, esi
sub eax, dword [ecx + 4]
add edx, eax
mov dword [edx], ecx
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov dword [esi], 0
mov dword [esi + 4], 0
push 0
push 0xfffffffffffffffe
push str.._AUINST__
push esi
call sym.Storm.dll_Ordinal_403
mov esi, dword [ebp + 0x14]
test esi, esi
jle 0x1500c580
test esi, esi
jne 0x1500c583
lea esi, [ebp + 0x10]
mov esi, dword [esi + 4]
test esi, esi
jg 0x1500c470
mov eax, dword [ebp + 0x14]
add ebp, 0x10
xor ecx, ecx
test eax, eax
setle cl
xor ebx, ebx
sub ecx, 1
and eax, ecx
test eax, eax
jle 0x1500c5fa
lea ebp, [ebx + 6]
lea esp, [esp]
mov cl, byte [eax + 0xc]
xor edx, edx
cmp cl, 8
jne 0x1500c5c9
mov ecx, dword [eax + 0x10]
cmp ecx, 5
ja case.default.0x1500c5c2
jmp dword [ecx*4 + 0x1500c8ec]
cmp cl, 9
jne case.default.0x1500c5c2
mov ecx, dword [eax + 0x10]
sub ecx, ebx
je case.0x1500c5c2.2
sub ecx, 2
je 0x1500c748
sub ecx, 1
jne case.default.0x1500c5c2
mov dword [eax + 0x10], ebp
mov edx, dword [0x1504bb04]
mov dword [eax + 0xc], edx
mov eax, dword [eax + 4]
cmp eax, ebx
jg 0x1500c5b0
mov ebp, dword [esp + 0x30]
mov eax, dword [ebp + 0x14]
xor ecx, ecx
cmp eax, ebx
setle cl
sub ecx, 1
and eax, ecx
mov esi, dword [eax + 4]
cmp esi, ebx
jle 0x1500c80a
mov edx, 1
lea ecx, [ecx]
mov cl, byte [esi + 0xc]
test cl, cl
je 0x1500c62c
cmp cl, byte [eax + 8]
je 0x1500c655
mov cl, byte [esi + 0xe]
test cl, cl
je 0x1500c638
cmp cl, byte [eax + 8]
je 0x1500c655
mov cl, byte [esi + 8]
test cl, cl
je 0x1500c7fb
cmp cl, byte [eax + 8]
jne 0x1500c7fb
cmp dword [esi + 0x10], ebx
je 0x1500c7fb
xor eax, eax
cmp esi, ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov eax, esi
jle 0x1500c7fb
cmp eax, esi
jbe 0x1500c721
mov cl, byte [eax + 0xc]
test cl, cl
je 0x1500c6e9
movzx ecx, cl
cmp dword [esp + ecx*4 + 0x84], ebx
jne 0x1500c721
mov cl, byte [eax + 0xe]
test cl, cl
je 0x1500c6fc
movzx ecx, cl
cmp dword [esp + ecx*4 + 0x84], ebx
jne 0x1500c721
mov cl, byte [eax + 8]
test cl, cl
je 0x1500c7c0
movzx ecx, cl
add ecx, ecx
add ecx, ecx
cmp dword [esp + ecx + 0x84], ebx
jne 0x1500c721
cmp dword [esp + ecx + 0x5c], ebx
je 0x1500c7c0
movzx ecx, byte [eax + 8]
mov dword [esp + ecx*4 + 0x84], edx
movzx ecx, byte [eax + 0xc]
mov dword [esp + ecx*4 + 0x5c], edx
movzx ecx, byte [eax + 0xe]
mov eax, dword [eax + 4]
cmp eax, ebx
mov dword [esp + ecx*4 + 0x5c], edx
jg 0x1500c6d2
jmp 0x1500c7fb
mov edx, 1
cmp edx, ebx
setne cl
add cl, 8
mov byte [esp + 0x1c], cl
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 0
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x10], ebx
jmp 0x1500c5f0
mov ecx, dword [eax + 4]
mov esi, dword [eax]
xor edx, edx
cmp ecx, ebx
setle dl
sub edx, 1
and edx, ecx
cmp esi, ebx
mov edi, edx
je 0x1500c7ab
mov edx, ecx
cmp edx, ebx
jg 0x1500c795
not edx
jmp 0x1500c79c
mov ecx, eax
sub ecx, dword [esi + 4]
add edx, ecx
mov dword [edx], esi
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov dword [eax], ebx
mov dword [eax + 4], ebx
push ebx
push 0xfffffffffffffffe
push str.._AUINST__
push eax
call sym.Storm.dll_Ordinal_403
mov eax, edi
jmp 0x1500c5f6
mov edi, dword [eax]
cmp edi, ebx
je 0x1500c7ec
mov edx, dword [eax + 4]
cmp edx, ebx
jg 0x1500c7d1
not edx
jmp 0x1500c7d8
mov ecx, eax
sub ecx, dword [edi + 4]
add edx, ecx
mov dword [edx], edi
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov edx, 1
mov ecx, dword [esi]
mov dword [eax], ecx
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov dword [ecx + 4], eax
mov dword [esi], eax
mov eax, esi
mov esi, dword [esi + 4]
cmp esi, ebx
jle 0x1500c80a
jne 0x1500c620
cmp dword [ebp + 4], ebx
jne 0x1500c827
push ebx
push 0x29d
push str..SCode.cpp
push 0x400
call sym.Storm.dll_Ordinal_401
mov dword [ebp + 4], eax
cmp dword [ebp + 0x18], ebx
jne 0x1500c844
push ebx
push 0x29f
push str..SCode.cpp
push 0x400
call sym.Storm.dll_Ordinal_401
mov dword [ebp + 0x18], eax
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 4]
xor edx, edx
cmp ecx, ebx
setle dl
sub edx, 1
and edx, ecx
mov esi, edx
cmp esi, ebx
jle 0x1500c879
lea esp, [esp]
mov edx, dword [ebp]
push esi
push eax
mov eax, dword [edx]
mov ecx, ebp
call eax
cmp esi, ebx
jne 0x1500c872
lea esi, [ebp + 0x10]
mov esi, dword [esi + 4]
cmp esi, ebx
jg 0x1500c860
sub eax, dword [ebp + 4]
mov edx, dword [ebp]
mov edx, dword [edx + 4]
mov dword [ebp + 8], eax
mov eax, dword [ebp + 0x18]
push eax
mov ecx, ebp
call edx
sub eax, dword [ebp + 0x18]
mov ecx, dword [esp + 0x38]
mov dword [ebp + 0x1c], eax
call fcn.1500b880
mov eax, 1
pop ebp
mov ecx, dword [esp + 0xb0]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1503831e
add esp, 0xa8
ret 8