Function at 0x1004f500
Capabilities:
Contain obfuscated stackstrings
Parse pe header
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x4c8
mov eax, dword [0x101b7324]
xor eax, esp
mov dword [esp + 0x4c4], eax
push ebx
push esi
push edi
mov esi, ecx
mov eax, 0x31
mov byte [esp + 0x10], al
mov dword [esp + 0x18], eax
mov eax, 0x32
mov byte [esp + 0x1c], al
mov dword [esp + 0x24], eax
mov eax, 0x33
mov byte [esp + 0x28], al
mov dword [esp + 0x30], eax
mov eax, 0x34
mov byte [esp + 0x34], al
mov dword [esp + 0x3c], eax
mov eax, 0x35
mov byte [esp + 0x40], al
mov dword [esp + 0x48], eax
mov eax, 0x36
mov byte [esp + 0x4c], al
mov dword [esp + 0x54], eax
mov eax, 0x37
mov byte [esp + 0x58], al
mov dword [esp + 0x60], eax
mov eax, 0x38
mov byte [esp + 0x64], al
mov dword [esp + 0x6c], eax
mov eax, 0x39
xor ebx, ebx
mov byte [esp + 0x70], al
mov dword [esp + 0x78], eax
mov eax, 0x30
mov byte [esp + 0x7c], al
mov dword [esp + 0x84], eax
mov cl, 0x62
mov al, 0x61
mov dl, 0x63
mov byte [esp + 0x11], bl
mov dword [esp + 0x12], ebx
mov word [esp + 0x16], bx
mov byte [esp + 0x1d], bl
mov dword [esp + 0x1e], ebx
mov word [esp + 0x22], bx
mov byte [esp + 0x29], bl
mov dword [esp + 0x2a], ebx
mov word [esp + 0x2e], bx
mov byte [esp + 0x35], bl
mov dword [esp + 0x36], ebx
mov word [esp + 0x3a], bx
mov byte [esp + 0x41], bl
mov dword [esp + 0x42], ebx
mov word [esp + 0x46], bx
mov byte [esp + 0x4d], bl
mov dword [esp + 0x4e], ebx
mov word [esp + 0x52], bx
mov byte [esp + 0x59], bl
mov dword [esp + 0x5a], ebx
mov word [esp + 0x5e], bx
mov byte [esp + 0x65], bl
mov dword [esp + 0x66], ebx
mov word [esp + 0x6a], bx
mov byte [esp + 0x71], bl
mov dword [esp + 0x72], ebx
mov word [esp + 0x76], bx
mov byte [esp + 0x7d], bl
mov dword [esp + 0x7e], ebx
mov word [esp + 0x82], bx
mov byte [esp + 0x88], 0x2d
mov byte [esp + 0x89], bl
mov dword [esp + 0x8a], ebx
mov word [esp + 0x8e], bx
mov dword [esp + 0x90], 0xbd
mov byte [esp + 0x94], 0x3d
mov byte [esp + 0x95], bl
mov dword [esp + 0x96], ebx
mov word [esp + 0x9a], bx
mov dword [esp + 0x9c], 0xbb
mov byte [esp + 0xa0], cl
mov byte [esp + 0xa1], al
mov byte [esp + 0xa2], dl
mov byte [esp + 0xac], al
mov al, 0x66
mov byte [esp + 0xa3], 0x6b
mov byte [esp + 0xa4], bl
mov word [esp + 0xa5], bx
mov byte [esp + 0xa7], bl
mov dword [esp + 0xa8], 8
mov byte [esp + 0xad], bl
mov dword [esp + 0xae], ebx
mov word [esp + 0xb2], bx
mov dword [esp + 0xb4], 0x41
mov byte [esp + 0xb8], cl
mov byte [esp + 0xb9], bl
mov dword [esp + 0xba], ebx
mov word [esp + 0xbe], bx
mov dword [esp + 0xc0], 0x42
mov byte [esp + 0xc4], dl
mov byte [esp + 0xc5], bl
mov dword [esp + 0xc6], ebx
mov word [esp + 0xca], bx
mov dword [esp + 0xcc], 0x43
mov byte [esp + 0xd0], 0x64
mov byte [esp + 0xd1], bl
mov dword [esp + 0xd2], ebx
mov word [esp + 0xd6], bx
mov dword [esp + 0xd8], 0x44
mov byte [esp + 0xdc], 0x65
mov byte [esp + 0xdd], bl
mov dword [esp + 0xde], ebx
mov word [esp + 0xe2], bx
mov dword [esp + 0xe4], 0x45
mov byte [esp + 0xe8], al
mov byte [esp + 0xe9], bl
mov dword [esp + 0xea], ebx
mov word [esp + 0xee], bx
mov dword [esp + 0xf0], 0x46
mov byte [esp + 0xf4], 0x67
mov byte [esp + 0xf5], bl
mov dword [esp + 0xf6], ebx
mov word [esp + 0xfa], bx
mov dword [esp + 0xfc], 0x47
mov byte [esp + 0x100], 0x68
mov byte [esp + 0x101], bl
mov dword [esp + 0x102], ebx
mov word [esp + 0x106], bx
mov dword [esp + 0x108], 0x48
mov byte [esp + 0x10c], 0x69
mov byte [esp + 0x10d], bl
mov dword [esp + 0x10e], ebx
mov word [esp + 0x112], bx
mov dword [esp + 0x114], 0x49
mov byte [esp + 0x118], 0x6a
mov byte [esp + 0x119], bl
mov dword [esp + 0x11a], ebx
mov word [esp + 0x11e], bx
mov dword [esp + 0x120], 0x4a
mov byte [esp + 0x124], 0x6b
mov byte [esp + 0x125], bl
mov dword [esp + 0x126], ebx
mov word [esp + 0x12a], bx
mov dword [esp + 0x12c], 0x4b
mov byte [esp + 0x130], 0x6c
mov byte [esp + 0x131], bl
mov dword [esp + 0x132], ebx
mov word [esp + 0x136], bx
mov dword [esp + 0x138], 0x4c
mov byte [esp + 0x13c], 0x6d
mov byte [esp + 0x13d], bl
mov dword [esp + 0x13e], ebx
mov word [esp + 0x142], bx
mov dword [esp + 0x144], 0x4d
mov byte [esp + 0x148], 0x6e
mov byte [esp + 0x149], bl
mov dword [esp + 0x14a], ebx
mov word [esp + 0x14e], bx
mov dword [esp + 0x150], 0x4e
mov byte [esp + 0x154], 0x6f
mov byte [esp + 0x155], bl
mov dword [esp + 0x156], ebx
mov word [esp + 0x15a], bx
mov dword [esp + 0x15c], 0x4f
mov byte [esp + 0x1e4], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x1e9], dx
movzx edx, dl
mov ecx, 0x74
mov byte [esp + 0x1eb], dl
mov dl, 0x69
mov byte [esp + 0x160], 0x70
mov byte [esp + 0x161], bl
mov dword [esp + 0x162], ebx
mov word [esp + 0x166], bx
mov dword [esp + 0x168], 0x50
mov byte [esp + 0x16c], 0x71
mov byte [esp + 0x16d], bl
mov dword [esp + 0x16e], ebx
mov word [esp + 0x172], bx
mov dword [esp + 0x174], 0x51
mov byte [esp + 0x178], 0x72
mov byte [esp + 0x179], bl
mov dword [esp + 0x17a], ebx
mov word [esp + 0x17e], bx
mov dword [esp + 0x180], 0x52
mov byte [esp + 0x184], 0x73
mov byte [esp + 0x185], bl
mov dword [esp + 0x186], ebx
mov word [esp + 0x18a], bx
mov dword [esp + 0x18c], 0x53
mov byte [esp + 0x190], cl
mov byte [esp + 0x191], bl
mov dword [esp + 0x192], ebx
mov word [esp + 0x196], bx
mov dword [esp + 0x198], 0x54
mov byte [esp + 0x19c], 0x75
mov byte [esp + 0x19d], bl
mov dword [esp + 0x19e], ebx
mov word [esp + 0x1a2], bx
mov dword [esp + 0x1a4], 0x55
mov byte [esp + 0x1a8], 0x76
mov byte [esp + 0x1a9], bl
mov dword [esp + 0x1aa], ebx
mov word [esp + 0x1ae], bx
mov dword [esp + 0x1b0], 0x56
mov byte [esp + 0x1b4], 0x77
mov byte [esp + 0x1b5], bl
mov dword [esp + 0x1b6], ebx
mov word [esp + 0x1ba], bx
mov dword [esp + 0x1bc], 0x57
mov byte [esp + 0x1c0], 0x78
mov byte [esp + 0x1c1], bl
mov dword [esp + 0x1c2], ebx
mov word [esp + 0x1c6], bx
mov dword [esp + 0x1c8], 0x58
mov byte [esp + 0x1cc], 0x79
mov byte [esp + 0x1cd], bl
mov dword [esp + 0x1ce], ebx
mov word [esp + 0x1d2], bx
mov dword [esp + 0x1d4], 0x59
mov byte [esp + 0x1d8], 0x7a
mov byte [esp + 0x1d9], bl
mov dword [esp + 0x1da], ebx
mov word [esp + 0x1de], bx
mov dword [esp + 0x1e0], 0x5a
mov byte [esp + 0x1e5], cl
mov byte [esp + 0x1e6], 0x72
mov byte [esp + 0x1e7], 0x6c
mov byte [esp + 0x1e8], bl
mov dword [esp + 0x1ec], 0x11
mov byte [esp + 0x1f0], 0x61
mov byte [esp + 0x1f1], 0x6c
mov byte [esp + 0x1f2], cl
mov byte [esp + 0x1f3], bl
mov dword [esp + 0x1f4], ebx
mov dword [esp + 0x1f8], 0x12
mov byte [esp + 0x1fc], 0x73
mov byte [esp + 0x1fd], 0x68
mov byte [esp + 0x1fe], dl
mov byte [esp + 0x1ff], al
mov byte [esp + 0x200], cl
mov byte [esp + 0x201], bl
mov word [esp + 0x202], bx
mov byte [esp + 0x209], dl
mov dl, 0x65
mov byte [esp + 0x218], dl
mov byte [esp + 0x244], dl
mov byte [esp + 0x250], dl
mov byte [esp + 0x253], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x25f], edx
movzx edx, dl
mov byte [esp + 0x263], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x26d], dx
movzx edx, dl
mov byte [esp + 0x26f], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x279], dx
movzx edx, dl
mov byte [esp + 0x27b], dl
mov dl, 0x69
mov dword [esp + 0x204], 0x10
mov byte [esp + 0x208], 0x77
mov byte [esp + 0x20a], 0x6e
mov byte [esp + 0x20b], bl
mov dword [esp + 0x20c], ebx
mov dword [esp + 0x210], 0x5b
mov byte [esp + 0x214], 0x73
mov byte [esp + 0x215], 0x70
mov byte [esp + 0x216], 0x61
mov byte [esp + 0x217], 0x63
mov byte [esp + 0x219], bl
mov word [esp + 0x21a], bx
mov dword [esp + 0x21c], 0x20
mov byte [esp + 0x220], 0x63
mov byte [esp + 0x221], 0x61
mov byte [esp + 0x222], 0x70
mov byte [esp + 0x223], bl
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], 0x14
mov byte [esp + 0x22c], cl
mov byte [esp + 0x22d], 0x61
mov byte [esp + 0x22e], 0x62
mov byte [esp + 0x22f], bl
mov dword [esp + 0x230], ebx
mov dword [esp + 0x234], 9
mov byte [esp + 0x238], 0x7e
mov byte [esp + 0x239], bl
mov dword [esp + 0x23a], ebx
mov word [esp + 0x23e], bx
mov dword [esp + 0x240], 0xc0
mov byte [esp + 0x245], 0x73
mov byte [esp + 0x246], 0x63
mov byte [esp + 0x247], bl
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], 0x1b
mov byte [esp + 0x251], 0x6e
mov byte [esp + 0x252], cl
mov byte [esp + 0x254], 0x72
mov byte [esp + 0x255], bl
mov word [esp + 0x256], bx
mov dword [esp + 0x258], 0xd
mov byte [esp + 0x25c], 0x75
mov byte [esp + 0x25d], 0x70
mov byte [esp + 0x25e], bl
mov dword [esp + 0x264], 0x26
mov byte [esp + 0x268], 0x64
mov byte [esp + 0x269], 0x6f
mov byte [esp + 0x26a], 0x77
mov byte [esp + 0x26b], 0x6e
mov byte [esp + 0x26c], bl
mov dword [esp + 0x270], 0x28
mov byte [esp + 0x274], 0x6c
mov byte [esp + 0x275], 0x65
mov byte [esp + 0x276], al
mov byte [esp + 0x277], cl
mov byte [esp + 0x278], bl
mov dword [esp + 0x27c], 0x25
mov byte [esp + 0x280], 0x72
mov byte [esp + 0x281], dl
mov byte [esp + 0x28f], dl
mov byte [esp + 0x29a], dl
mov dl, 0x65
mov byte [esp + 0x2a5], dl
mov byte [esp + 0x2a7], dl
mov byte [esp + 0x2a9], dl
mov byte [esp + 0x2b3], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x2b5], dx
movzx edx, dl
mov byte [esp + 0x2b7], dl
mov dl, 0x70
mov byte [esp + 0x2c8], dl
mov byte [esp + 0x2cb], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x2cd], dx
movzx edx, dl
mov byte [esp + 0x2cf], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov word [esp + 0x2d9], dx
movzx edx, dl
mov byte [esp + 0x2db], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2e3], edx
movzx edx, dl
mov byte [esp + 0x282], 0x67
mov byte [esp + 0x283], 0x68
mov byte [esp + 0x284], cl
mov byte [esp + 0x285], bl
mov word [esp + 0x286], bx
mov dword [esp + 0x288], 0x27
mov byte [esp + 0x28c], 0x6f
mov byte [esp + 0x28d], 0x70
mov byte [esp + 0x28e], cl
mov byte [esp + 0x290], 0x6f
mov byte [esp + 0x291], 0x6e
mov byte [esp + 0x292], bl
mov byte [esp + 0x293], bl
mov dword [esp + 0x294], 0x5d
mov byte [esp + 0x298], 0x70
mov byte [esp + 0x299], 0x72
mov byte [esp + 0x29b], 0x6e
mov byte [esp + 0x29c], cl
mov byte [esp + 0x29d], bl
mov word [esp + 0x29e], bx
mov dword [esp + 0x2a0], 0x2c
mov byte [esp + 0x2a4], 0x64
mov byte [esp + 0x2a6], 0x6c
mov byte [esp + 0x2a8], cl
mov byte [esp + 0x2aa], bl
mov byte [esp + 0x2ab], bl
mov dword [esp + 0x2ac], 0x2e
mov byte [esp + 0x2b0], 0x68
mov byte [esp + 0x2b1], 0x6f
mov byte [esp + 0x2b2], 0x6d
mov byte [esp + 0x2b4], bl
mov dword [esp + 0x2b8], 0x24
mov byte [esp + 0x2bc], 0x65
mov byte [esp + 0x2bd], 0x6e
mov byte [esp + 0x2be], 0x64
mov byte [esp + 0x2bf], bl
mov dword [esp + 0x2c0], ebx
mov dword [esp + 0x2c4], 0x23
mov byte [esp + 0x2c9], 0x67
mov byte [esp + 0x2ca], 0x75
mov byte [esp + 0x2cc], bl
mov dword [esp + 0x2d0], 0x21
mov byte [esp + 0x2d4], 0x70
mov byte [esp + 0x2d5], 0x67
mov byte [esp + 0x2d6], 0x64
mov byte [esp + 0x2d7], 0x6e
mov byte [esp + 0x2d8], bl
mov dword [esp + 0x2dc], 0x22
mov byte [esp + 0x2e0], al
mov byte [esp + 0x2e1], 0x31
mov byte [esp + 0x2e2], bl
mov byte [esp + 0x2e7], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2ef], edx
movzx edx, dl
mov byte [esp + 0x2f3], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x2fb], edx
movzx edx, dl
mov byte [esp + 0x2ff], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x307], edx
movzx edx, dl
mov byte [esp + 0x30b], dl
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x313], edx
movzx edx, dl
mov dword [esp + 0x318], ecx
mov cl, 0x31
mov dword [esp + 0x2e8], 0x70
mov byte [esp + 0x2ec], al
mov byte [esp + 0x2ed], 0x32
mov byte [esp + 0x2ee], bl
mov dword [esp + 0x2f4], 0x71
mov byte [esp + 0x2f8], al
mov byte [esp + 0x2f9], 0x33
mov byte [esp + 0x2fa], bl
mov dword [esp + 0x300], 0x72
mov byte [esp + 0x304], al
mov byte [esp + 0x305], 0x34
mov byte [esp + 0x306], bl
mov dword [esp + 0x30c], 0x73
mov byte [esp + 0x310], al
mov byte [esp + 0x311], 0x35
mov byte [esp + 0x312], bl
mov byte [esp + 0x317], dl
mov byte [esp + 0x31c], al
mov byte [esp + 0x31d], 0x36
mov byte [esp + 0x31e], bl
mov dword [esp + 0x31f], ebx
mov byte [esp + 0x323], bl
mov dword [esp + 0x324], 0x75
mov byte [esp + 0x328], al
mov byte [esp + 0x329], 0x37
mov byte [esp + 0x32a], bl
mov dword [esp + 0x32b], ebx
mov byte [esp + 0x32f], bl
mov dword [esp + 0x330], 0x76
mov byte [esp + 0x334], al
mov byte [esp + 0x335], 0x38
mov byte [esp + 0x336], bl
mov dword [esp + 0x337], ebx
mov byte [esp + 0x33b], bl
mov dword [esp + 0x33c], 0x77
mov byte [esp + 0x340], al
mov byte [esp + 0x341], 0x39
mov byte [esp + 0x342], bl
mov dword [esp + 0x343], ebx
mov byte [esp + 0x347], bl
mov dword [esp + 0x348], 0x78
mov byte [esp + 0x34c], al
mov byte [esp + 0x34d], cl
mov byte [esp + 0x34e], 0x30
mov byte [esp + 0x34f], bl
mov dword [esp + 0x350], ebx
mov dword [esp + 0x354], 0x79
mov byte [esp + 0x358], al
mov byte [esp + 0x359], cl
mov byte [esp + 0x35a], cl
mov byte [esp + 0x35b], bl
mov dword [esp + 0x35c], ebx
mov dword [esp + 0x360], 0x7a
mov byte [esp + 0x364], al
mov byte [esp + 0x365], cl
mov byte [esp + 0x366], 0x32
mov byte [esp + 0x367], bl
mov dword [esp + 0x368], ebx
mov dword [esp + 0x36c], 0x7b
mov byte [esp + 0x370], 0x5b
push 0xff
lea eax, [esp + 0x3d5]
push ebx
push eax
mov byte [esp + 0x37d], bl
mov dword [esp + 0x37e], ebx
mov word [esp + 0x382], bx
mov dword [esp + 0x384], 0xdb
mov byte [esp + 0x388], 0x5d
mov byte [esp + 0x389], bl
mov dword [esp + 0x38a], ebx
mov word [esp + 0x38e], bx
mov dword [esp + 0x390], 0xdd
mov byte [esp + 0x394], 0x5c
mov byte [esp + 0x395], bl
mov dword [esp + 0x396], ebx
mov word [esp + 0x39a], bx
mov dword [esp + 0x39c], 0xdc
mov byte [esp + 0x3a0], 0x3b
mov byte [esp + 0x3a1], bl
mov dword [esp + 0x3a2], ebx
mov word [esp + 0x3a6], bx
mov dword [esp + 0x3a8], 0xba
mov byte [esp + 0x3ac], 0x27
mov byte [esp + 0x3ad], bl
mov dword [esp + 0x3ae], ebx
mov word [esp + 0x3b2], bx
mov dword [esp + 0x3b4], 0xde
mov byte [esp + 0x3b8], 0x2c
mov byte [esp + 0x3b9], bl
mov dword [esp + 0x3ba], ebx
mov word [esp + 0x3be], bx
mov dword [esp + 0x3c0], 0xbc
mov byte [esp + 0x3c4], 0x2e
mov byte [esp + 0x3c5], bl
mov dword [esp + 0x3c6], ebx
mov word [esp + 0x3ca], bx
mov dword [esp + 0x3cc], 0xbe
mov byte [esp + 0x3d0], 0x2f
mov byte [esp + 0x3d1], bl
mov dword [esp + 0x3d2], ebx
mov word [esp + 0x3d6], bx
mov dword [esp + 0x3d8], 0xbf
mov byte [esp + 0x3dc], bl
call fcn.101004d0
lea eax, [esp + 0x3dc]
add esp, 0xc
sub eax, esi
mov cl, byte [esi]
mov byte [esi + eax], cl
add esi, 1
cmp cl, bl
jne 0x100503c1
lea ecx, [esp + 0x3d0]
push ecx
call fcn.1015bd59
add esp, 4
xor edx, edx
lea edi, [esp + 0x10]
lea esi, [esp + 0x3d0]
mov eax, edi
lea esp, [esp]
mov cl, byte [eax]
cmp cl, byte [esi]
jne 0x10050410
cmp cl, bl
je 0x1005040c
mov cl, byte [eax + 1]
cmp cl, byte [esi + 1]
jne 0x10050410
add eax, 2
add esi, 2
cmp cl, bl
jne 0x100503f0
xor eax, eax
jmp 0x10050415
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x1005043e
add edx, 1
add edi, 0xc
cmp edx, 0x50
jl 0x100503e3
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x4c4]
xor ecx, esp
call fcn.100ffa66
add esp, 0x4c8
ret
mov ecx, dword [esp + 0x4d0]
pop edi
pop esi
pop ebx
lea edx, [edx + edx*2]
mov eax, dword [esp + edx*4 + 0xc]
xor ecx, esp
call fcn.100ffa66
add esp, 0x4c8
ret