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

Disassembly:
push 0xffffffffffffffff
push 0x470b58
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
mov eax, dword [0x48a8f0]
xor eax, esp
mov dword [esp + 0x48], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48a8f0]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov edi, edx
mov eax, ecx
mov dword [esp + 0x18], eax
mov ebx, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x24], edx
lea esi, [ebx + 0x20]
cmp eax, edi
je 0x4554bf
mov ecx, dword [edx + 0xc]
xor ebp, ebp
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 8]
mov bh, byte [esp + 0x78]
mov dword [esp + 0x1c], ecx
test ecx, ecx
je 0x455001
lea ecx, [ecx]
mov bl, byte [esi]
mov edx, eax
test bl, bl
jne 0x454f98
mov al, byte [eax]
test bh, bh
je 0x454f82
mov ecx, dword [esp + 0x20]
movzx eax, al
mov ecx, dword [ecx]
mov al, byte [eax + ecx + 0x104]
mov ecx, dword [esp + 0x1c]
test al, al
je 0x45507c
lea ebx, [ebx]
inc esi
cmp byte [esi], 0
je 0x454f90
jmp 0x454ff0
cmp edx, edi
je 0x454fe0
mov al, byte [edx]
test bh, bh
je 0x454fb2
mov ecx, dword [esp + 0x20]
movzx eax, al
mov ecx, dword [ecx]
mov al, byte [eax + ecx + 0x104]
cmp al, bl
jne 0x454fe0
mov bl, byte [esi + 1]
inc esi
inc edx
test bl, bl
jne 0x454f98
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
cmp byte [eax + 0x1c], 0
jne 0x4554bd
cmp edx, esi
je 0x4554bc
mov esi, edx
jmp 0x4554bd
cmp byte [esi], 0
je 0x454fbf
inc esi
cmp byte [esi], 0
jne 0x454fe5
mov ecx, dword [esp + 0x1c]
inc esi
mov eax, dword [esp + 0x18]
inc ebp
cmp ebp, ecx
jb 0x454f60
mov edx, dword [esp + 0x24]
mov bl, byte [eax]
mov edi, dword [esp + 0x20]
mov byte [esp + 0x17], bl
test bh, bh
je 0x45501f
mov ecx, dword [edi]
movzx eax, bl
mov bl, byte [eax + ecx + 0x104]
mov byte [esp + 0x17], bl
mov ebp, dword [esp + 0x70]
mov byte [esp + 0x28], bl
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x455037
cmp dword [ebp + 0x10], eax
je 0x455419
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x68], 0
test eax, eax
je 0x455247
test dword [edx + 0x14], 0x200000
jne 0x455093
mov byte [esp + 0x2c], bl
mov ebx, 1
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2d], 0
jmp 0x455105
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
cmp byte [eax + 0x1c], 0
jne 0x4554bd
jmp 0x4554bc
lea eax, [esp + 0x1d]
mov byte [esp + 0x1c], bl
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x21], 0
push eax
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
call fcn.00463df0
mov edi, eax
lea eax, [esp + 0x2c]
cmp eax, edi
je 0x4550ee
cmp dword [esp + 0x40], 0x10
jb 0x4550cf
push dword [esp + 0x2c]
call fcn.0042484e
add esp, 4
push edi
lea ecx, [esp + 0x30]
mov dword [esp + 0x44], 0xf
mov dword [esp + 0x40], 0
mov byte [esp + 0x30], 0
call fcn.00404750
cmp dword [esp + 0x58], 0x10
jb 0x455101
push dword [esp + 0x44]
call fcn.0042484e
add esp, 4
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x70]
xor ebp, ebp
cmp dword [eax + 0xc], ebp
jbe 0x455245
cmp byte [esi], 0
jne 0x45513d
test ebx, ebx
je 0x455184
cmp ebx, 1
jne 0x455139
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x2c]
cmp edx, 0x10
cmovae eax, ecx
cmp byte [eax], 0
je 0x455190
xor edi, edi
jmp 0x45514b
mov edi, esi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x455142
sub edi, ecx
cmp dword [esp + 0x40], 0x10
lea ecx, [esp + 0x2c]
mov eax, edi
cmovae ecx, dword [esp + 0x2c]
cmp ebx, edi
cmovb eax, ebx
push eax
push esi
push ecx
call fcn.00413e00
add esp, 0xc
test eax, eax
jne 0x45517e
cmp ebx, edi
jb 0x455223
cmp ebx, edi
setne al
test eax, eax
js 0x455223
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
lea esp, [esp]
inc esi
cmp byte [esi], 0
jne 0x455190
inc esi
cmp byte [esi], 0
jne 0x4551b8
test ebx, ebx
je 0x4551f8
cmp ebx, 1
jne 0x4551b4
cmp edx, 0x10
lea eax, [esp + 0x2c]
cmovae eax, ecx
cmp byte [eax], 0
je 0x4551f8
xor edi, edi
jmp 0x4551c9
mov edi, esi
lea ecx, [edi + 1]
lea ecx, [ecx]
mov al, byte [edi]
inc edi
test al, al
jne 0x4551c0
sub edi, ecx
cmp edx, 0x10
lea ecx, [esp + 0x2c]
mov eax, edi
cmovae ecx, dword [esp + 0x2c]
cmp ebx, edi
cmovb eax, ebx
push eax
push esi
push ecx
call fcn.00413e00
add esp, 0xc
test eax, eax
jne 0x4551f6
cmp ebx, edi
jb 0x4551f8
cmp ebx, edi
setne al
test eax, eax
jg 0x455230
mov eax, dword [esp + 0x70]
mov esi, dword [esp + 0x18]
cmp byte [eax + 0x1c], 0
jne 0x455207
inc esi
cmp dword [esp + 0x40], 0x10
jb 0x4554bd
push dword [esp + 0x2c]
call fcn.0042484e
add esp, 4
jmp 0x4554bd
inc esi
cmp byte [esi], 0
jne 0x455223
inc esi
lea ebx, [ebx]
inc esi
cmp byte [esi], 0
jne 0x455230
mov eax, dword [esp + 0x70]
inc ebp
inc esi
cmp ebp, dword [eax + 0xc]
jb 0x455114
mov ebp, eax
cmp dword [ebp + 0x10], 0
mov bl, byte [esp + 0x17]
je 0x455406
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x1d]
push eax
lea eax, [esp + 0x20]
mov byte [esp + 0x20], bl
push eax
lea eax, [esp + 0x4c]
mov byte [esp + 0x25], 0
push eax
call fcn.00463e50
mov edi, eax
lea eax, [esp + 0x2c]
cmp eax, edi
je 0x4552f0
cmp dword [esp + 0x40], 0x10
jb 0x455293
push dword [esp + 0x2c]
call fcn.0042484e
add esp, 4
mov dword [esp + 0x40], 0xf
mov dword [esp + 0x3c], 0
mov byte [esp + 0x2c], 0
cmp dword [edi + 0x14], 0x10
jae 0x4552c5
mov eax, dword [edi + 0x10]
inc eax
je 0x4552d1
push eax
lea eax, [esp + 0x30]
push edi
push eax
call fcn.004249d0
add esp, 0xc
jmp 0x4552d1
mov eax, dword [edi]
mov dword [esp + 0x2c], eax
mov dword [edi], 0
mov eax, dword [edi + 0x10]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 0x40], eax
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
mov byte [edi], 0
cmp dword [esp + 0x58], 0x10
jb 0x455303
push dword [esp + 0x44]
call fcn.0042484e
add esp, 4
cmp dword [ebp + 0x10], 0
mov dword [esp + 0x24], 0
jbe 0x455406
mov ebp, dword [esp + 0x3c]
lea esp, [esp]
cmp byte [esi], 0
jne 0x45534d
test ebp, ebp
je 0x4551f8
cmp ebp, 1
jne 0x455349
cmp dword [esp + 0x40], 0x10
lea eax, [esp + 0x2c]
cmovae eax, dword [esp + 0x2c]
cmp byte [eax], 0
je 0x4551f8
xor edx, edx
jmp 0x45535b
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x455352
sub edx, ecx
cmp dword [esp + 0x40], 0x10
lea edi, [esp + 0x2c]
mov ecx, edx
cmovae edi, dword [esp + 0x2c]
cmp ebp, edx
cmovb ecx, ebp
test ecx, ecx
je 0x4553d0
mov ebx, esi
sub ecx, 4
jb 0x455391
jmp 0x455380
mov eax, dword [edi]
cmp eax, dword [ebx]
jne 0x455396
add edi, 4
add ebx, 4
sub ecx, 4
jae 0x455380
cmp ecx, 0xfffffffc
je 0x4553ca
mov al, byte [edi]
cmp al, byte [ebx]
jne 0x4553c3
cmp ecx, 0xfffffffd
je 0x4553ca
mov al, byte [edi + 1]
cmp al, byte [ebx + 1]
jne 0x4553c3
cmp ecx, 0xfffffffe
je 0x4553ca
mov al, byte [edi + 2]
cmp al, byte [ebx + 2]
jne 0x4553c3
cmp ecx, 0xffffffff
je 0x4553ca
mov al, byte [edi + 3]
cmp al, byte [ebx + 3]
je 0x4553ca
sbb eax, eax
or eax, 1
jmp 0x4553cc
xor eax, eax
test eax, eax
jne 0x4553e3
cmp ebp, edx
jb 0x4553e3
xor eax, eax
cmp ebp, edx
setne al
test eax, eax
je 0x4551f8
inc esi
cmp byte [esi], 0
jne 0x4553e3
mov eax, dword [esp + 0x24]
inc esi
mov ecx, dword [esp + 0x70]
inc eax
mov dword [esp + 0x24], eax
cmp eax, dword [ecx + 0x10]
jb 0x455320
mov bl, byte [esp + 0x17]
mov ebp, ecx
cmp dword [esp + 0x40], 0x10
jb 0x455419
push dword [esp + 0x2c]
call fcn.0042484e
add esp, 4
mov edx, dword [ebp + 0x14]
mov edi, dword [esp + 0x20]
test edx, 0x3ff
je 0x45543e
mov eax, dword [edi]
movzx ecx, bl
movzx eax, word [eax + ecx*2 + 0x204]
and eax, edx
test eax, 0x3ff
jne 0x455492
test edx, 0x400
je 0x45544b
cmp bl, 0x5f
je 0x455492
test edx, 0x2000
je 0x455467
cmp bl, 0xa
je 0x455492
cmp bl, 0xd
je 0x455492
cmp bl, 0xc
je 0x455492
cmp bl, 0xb
je 0x455492
mov esi, dword [esp + 0x28]
test edx, 0x1000
je 0x45549e
push 8
push esi
mov ecx, edi
call fcn.0045d2c0
test al, al
je 0x45549e
push 0x2000
push esi
mov ecx, edi
call fcn.0045d2c0
test al, al
jne 0x45549e
cmp byte [ebp + 0x1c], 0
mov esi, dword [esp + 0x18]
jne 0x4554bd
jmp 0x4554bc
mov eax, dword [ebp + 0x18]
test eax, eax
je 0x4554b2
push eax
push esi
mov ecx, edi
call fcn.0045d2c0
test al, al
je 0x455492
cmp byte [ebp + 0x1c], 0
mov esi, dword [esp + 0x18]
je 0x4554bd
inc esi
mov eax, esi
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x48]
xor ecx, esp
call fcn.00424094
add esp, 0x58
ret 0xc