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

Disassembly:
push ebx
push esi
mov esi, dword [esp + 0xc]
lea eax, [esp + 0xc]
push edi
push eax
push 0xff
mov ecx, esi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
call fcn.00402441
mov ecx, dword [esi]
or dl, 0xff
mov word [esp + 0x10], 0x502
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 9], ax
mov byte [ecx + 0xb], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 2
mov word [ecx + 0x12], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x14], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8002
mov word [ecx + 0x18], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1a], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x102
mov word [ecx + 0x1b], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1d], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8102
mov word [ecx + 0x1e], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x20], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x202
mov word [ecx + 0x21], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x23], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8202
mov word [ecx + 0x24], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x26], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x302
mov word [ecx + 0x27], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x29], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8302
mov word [ecx + 0x2a], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x2c], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x402
mov word [ecx + 0x2d], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x2f], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8402
mov word [ecx + 0x30], ax
mov byte [ecx + 0x32], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [ecx + 0x33], ax
mov byte [ecx + 0x35], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x36], ax
mov byte [ecx + 0x38], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x39], ax
mov byte [ecx + 0x3b], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 2
mov word [ecx + 0x3c], ax
mov byte [ecx + 0x3e], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x3f], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x41], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x42], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x44], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x45], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x47], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x48], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x4a], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x4b], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x4d], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x4e], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x50], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x51], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x53], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x54], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x56], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x57], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x59], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [ecx + 0x5a], ax
mov byte [ecx + 0x5c], dl
mov ecx, dword [esi]
or dl, 0xff
mov word [esp + 0x10], 0xff02
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x5d], ax
mov byte [ecx + 0x5f], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x60], ax
mov byte [ecx + 0x62], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x63], ax
mov byte [ecx + 0x65], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0x402
mov word [ecx + 0x66], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x68], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x69], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x6b], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x6c], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x6e], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x6f], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x71], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x72], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x74], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8102
mov word [ecx + 0x75], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x77], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x8102
mov word [ecx + 0x8d], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x8f], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x78], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x7a], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x7b], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x7d], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x7e], ax
mov byte [ecx + 0x80], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [ecx + 0x81], ax
mov byte [ecx + 0x83], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x84], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x86], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x87], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x89], dl
or dl, 0xff
mov ecx, dword [esi]
or bl, 0xff
mov word [esp + 0x10], 0xff02
mov di, word [esp + 0x10]
mov word [ecx + 0x8a], ax
mov byte [ecx + 0x8c], dl
mov ecx, 0x90
lea edx, [ecx - 0x70]
mov eax, dword [esi]
lea ecx, [ecx + 3]
mov word [eax + ecx - 3], di
mov byte [eax + ecx - 1], bl
sub edx, 1
jne 0x545ee4
mov word [esp + 0x10], 0xff02
or bl, 0xff
mov di, word [esp + 0x10]
mov ecx, 0xf0
mov edx, 0x20
mov eax, dword [esi]
lea ecx, [ecx + 3]
mov word [eax + ecx - 3], di
mov byte [eax + ecx - 1], bl
sub edx, 1
jne 0x545f10
mov word [esp + 0x10], 0x8402
or bl, 0xff
mov di, word [esp + 0x10]
mov ecx, 0x150
mov edx, 0x20
nop dword [eax]
mov eax, dword [esi]
lea ecx, [ecx + 3]
mov word [eax + ecx - 3], di
mov byte [eax + ecx - 1], bl
sub edx, 1
jne 0x545f40
mov ecx, dword [esi]
or dl, 0xff
mov word [esp + 0x10], 0x402
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0x8402
mov word [ecx + 0x1b0], ax
mov byte [ecx + 0x1b2], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0x402
mov word [ecx + 0x1b3], ax
mov byte [ecx + 0x1b5], dl
mov dl, 0x84
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0x402
mov word [ecx + 0x1b6], ax
mov byte [ecx + 0x1b8], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 2
mov word [ecx + 0x1b9], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1bb], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 2
mov word [ecx + 0x1bc], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1be], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff02
mov word [ecx + 0x1bf], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1c1], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff03
mov word [ecx + 0x1c2], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1c4], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x103
mov word [ecx + 0x1c5], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1c7], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x203
mov word [ecx + 0x1c8], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1ca], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x603
mov word [ecx + 0x1cb], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1cd], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff03
mov word [ecx + 0x1ce], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1d0], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0xff03
mov word [ecx + 0x1d1], ax
movzx eax, word [esp + 0x10]
mov byte [ecx + 0x1d3], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0x10], 0x403
mov word [ecx + 0x1d4], ax
mov byte [ecx + 0x1d6], dl
mov dl, 4
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [ecx + 0x1d7], ax
mov byte [ecx + 0x1d9], dl
mov dl, 7
mov ecx, dword [esi]
mov word [esp + 0x10], 0x403
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0xff03
mov word [ecx + 0x1da], ax
mov byte [ecx + 0x1dc], dl
or dl, 0xff
mov ecx, dword [esi]
movzx eax, word [esp + 0x10]
mov word [esp + 0x10], 0x404
pop edi
mov word [ecx + 0x1dd], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x1df], dl
mov dl, 0x1e
mov ecx, dword [esi]
mov word [esp + 0xc], 0xff03
mov word [ecx + 0x2c7], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x2c9], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x404
mov word [ecx + 0x2a0], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x2a2], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x404
mov word [ecx + 0x1e3], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x1e5], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x404
mov word [ecx + 0x2f1], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x2f3], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x404
mov word [ecx + 0x2f4], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x2f6], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x805
mov word [ecx + 0x2d9], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x2db], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x405
mov word [ecx + 0x1f8], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x1fa], dl
or dl, 0xff
mov ecx, dword [esi]
mov word [esp + 0xc], 0x405
mov word [ecx + 0x1e9], ax
movzx eax, word [esp + 0xc]
mov byte [ecx + 0x1eb], dl
mov dl, 8
mov ecx, dword [esi]
mov word [ecx + 0x1ef], ax
mov eax, esi
pop esi
mov byte [ecx + 0x1f1], dl
pop ebx
ret