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

Disassembly:
sub esp, 0x11c
push ebx
push ebp
push esi
mov ebp, ecx
xor esi, esi
mov dword [esp + 0xd4], esi
mov eax, dword [ebp]
mov edx, dword [eax + 4]
push edi
lea ecx, [esp + 0x1c]
push ecx
mov ecx, ebp
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x28]
push ecx
mov ecx, ebp
call edx
push 0x14
mov dword [esp + 0x18], 2
call fcn.005939b5
add esp, 4
or ecx, 0xffffffff
cmp eax, esi
je 0x51a7fc
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], esi
jmp 0x51a7fe
xor eax, eax
mov dword [esp + 0x18], eax
cmp eax, esi
je 0x51a80f
mov ecx, 1
lock xadd dword [eax], ecx
mov edx, dword [ebp + 0x14]
mov eax, dword [edx + 8]
mov ecx, dword [esp + 0x13c]
mov esi, dword [ecx]
mov edi, dword [esi + 4]
mov dword [esp + 0x50], eax
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x38]
xor ebx, ebx
push ecx
mov eax, edi
mov byte [esp + 0x1f], bl
call fcn.00514c40
mov ecx, dword [esp + 0x3c]
mov esi, dword [esi + 8]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
mov dword [esp + 0xcc], ecx
add esp, 0xc
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x4a90be59
imul ecx
sar edx, 0x14
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x40], ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x4a90be59
imul ecx
sar edx, 0x14
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x36ee80
sub ecx, eax
mov eax, 0x45e7b273
imul ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0xd0], ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
and ecx, esi
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ecx, 0x3c
idiv ecx
mov ecx, esi
inc ecx
neg ecx
sbb ecx, ecx
mov dword [esp + 0x44], 0xffffffff
and ecx, esi
mov dword [esp + 0xbc], edx
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x3e8
sub ecx, eax
mov eax, 0x24924925
mul edi
mov eax, edi
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
mov dword [esp + 0xa4], ecx
lea ecx, [eax*8]
sub ecx, eax
sub edi, ecx
inc edi
xor esi, esi
mov dword [esp + 0x94], edi
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x20], esi
mov dword [esp + 0x7c], esi
cmp esi, dword [esp + 0x50]
mov edx, dword [esp + 0x134]
jge 0x51ad27
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 8]
mov edi, dword [eax + 8]
add ecx, esi
lea ecx, [eax + ecx*4 + 0x14]
add edi, esi
mov eax, dword [eax + edi*4 + 0x14]
mov eax, dword [eax + 8]
mov dword [esp + 0xfc], edx
lea edx, [esp + 0xfc]
push edx
push ecx
mov dword [esp + 0x108], ebx
mov dword [esp + 0x10c], eax
call fcn.004d89e0
add esp, 8
test al, al
je 0x51af62
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 8]
add ecx, esi
mov edx, dword [eax + ecx*4 + 0x14]
add ebx, dword [edx + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [esp + 0x7c]
mov dword [ecx + eax + 0x14], ebx
mov edx, dword [ebp + 0x14]
mov ecx, dword [edx + eax + 0x10]
mov edi, dword [edx + eax + 0x18]
lea eax, [edx + eax + 0x10]
mov edx, dword [eax + 4]
mov dword [esp + 0x108], ecx
lea eax, [esp + 0x4c]
push eax
mov eax, dword [esp + 0x138]
lea ecx, [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x144]
push ebx
mov dword [esp + 0x118], edx
mov edx, dword [esp + 0x144]
push edx
push eax
push esi
push ecx
mov ecx, ebp
call fcn.0051a090
cmp byte [esp + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x51aaf0
cmp dword [esp + 0x6c], 1
jne 0x51aaf0
cmp dword [esp + 0x4c], edi
jge 0x51aaf0
push esi
lea edx, [esp + 0xe0]
push edx
mov ecx, ebp
call fcn.00517e50
mov eax, dword [esp + 0xdc]
and eax, 3
cmp al, 3
jne 0x51aaf0
push 0xffffffffffffffff
lea edx, [esp + 0xcc]
mov ecx, 0x30
push 0x6131f0
push edx
mov word [esp + 0x8e], cx
call fcn.004d9bc0
add esp, 0xc
mov ecx, eax
lea eax, [esp + 0x82]
push eax
mov eax, dword [esp + 0x40]
push 0xa
cdq
push edi
push edx
push eax
lea edx, [esp + 0x88]
push edx
call fcn.004de310
mov eax, dword [esp + 0xc8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51aabb
mov edx, dword [esp + 0xc8]
push edx
call fcn.004d8200
add esp, 4
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x74]
push eax
push ecx
mov ecx, dword [esp + 0x13c]
push ebx
call fcn.004de0a0
mov edx, dword [esp + 0x74]
mov dword [esp + 0x4c], edi
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51aaf0
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004d8200
add esp, 4
xor edx, edx
cmp dword [esp + 0x4c], edx
mov dword [esp + 0xe4], edx
lea eax, [esp + 0x4c]
jg 0x51ab0a
lea eax, [esp + 0xe4]
add ebx, dword [eax]
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0x14], eax
lea eax, [esp + 0x14]
jl 0x51ab1e
lea eax, [esp + 0x6c]
mov edi, dword [eax]
mov ecx, 1
mov dword [esp + 0x14], edi
cmp edi, ecx
jne 0x51ab3b
cmp dword [ebp + 0x60], edx
jne 0x51ab43
mov dword [esp + 0x14], edx
jmp 0x51b25f
cmp edi, edx
je 0x51ac39
mov edx, dword [esp + 0x108]
cmp edx, 0x20
jg 0x51aba1
je 0x51ab9b
lea eax, [edx - 1]
cmp eax, 0xf
ja case.0x51ab64.3
movzx ecx, byte [eax + 0x51bb64]
jmp dword [ecx*4 + 0x51bb4c]
lea eax, [esp + 0x44]
jmp 0x51ac0f
lea eax, [esp + 0xd0]
jmp 0x51ac0f
lea eax, [esp + 0xbc]
jmp 0x51ac0f
lea eax, [esp + 0xa4]
jmp 0x51ac0f
lea eax, [esp + 0x48]
jmp 0x51ac0f
lea eax, [esp + 0x40]
jmp 0x51ac0f
cmp edx, 0x400
jg 0x51abef
je 0x51abe9
cmp edx, 0x100
je 0x51abc5
cmp edx, 0x200
jne case.0x51ab64.3
lea eax, [esp + 0x34]
jmp 0x51ac0f
cmp dword [esp + 0x3c], ecx
mov dword [esp + 0xf8], ecx
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x3c]
jg 0x51abe1
lea ecx, [esp + 0xf8]
mov ecx, dword [ecx]
mov dword [esp + 0x3c], ecx
jmp 0x51ac0f
lea eax, [esp + 0x30]
jmp 0x51ac0f
cmp edx, 0x800
je 0x51ac08
cmp edx, 0x1000
jne case.0x51ab64.3
lea eax, [esp + 0x94]
jmp 0x51ac0f
lea eax, [esp + 0xc0]
mov ecx, dword [esp + 0x3c]
test dword [esp + 0x20], edx
je 0x51ac2e
cmp dword [eax], ecx
je 0x51ac2e
mov byte [esp + 0x13], 1
cmp esi, dword [ebp + 4]
jne 0x51ac39
cmp ecx, 0xffffffff
jne 0x51ac33
jmp 0x51ac39
cmp ecx, 0xffffffff
je 0x51ac35
mov dword [eax], ecx
or dword [esp + 0x20], edx
add dword [esp + 0x7c], 0xc
inc esi
test edi, edi
je 0x51b25f
jmp 0x51a951
mov eax, dword [esp + 0x108]
lea edx, [esp + 0x9c]
push edx
push eax
lea ecx, [esp + 0x94]
push ecx
mov ecx, ebp
call fcn.00516950
mov ecx, eax
call fcn.004d9b80
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
push eax
push str.QDateTimeParser::parse_Internal_error___s_
call fcn.004d1870
mov ecx, dword [esp + 0xa4]
add esp, 8
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51aca5
mov eax, dword [esp + 0x9c]
push eax
call fcn.004de870
add esp, 4
mov ecx, dword [esp + 0x8c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51acc5
mov eax, dword [esp + 0x8c]
push eax
call fcn.004d8200
add esp, 4
push str.QDateTimeParser::parse_Internal_error_2
call fcn.004d1870
mov esi, dword [esp + 0x134]
add esp, 4
mov ecx, esi
call fcn.00515d20
mov eax, dword [esp + 0x18]
test eax, eax
je 0x51acfe
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51acfe
mov edx, dword [esp + 0x18]
push edx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x51ad1c
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51ad1c
mov edx, dword [esp + 0x28]
push edx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x1c]
test eax, eax
jmp 0x51bb25
cmp dword [esp + 0x14], 0
je 0x51b25f
mov eax, dword [ebp + 0x48]
mov ecx, dword [eax + 0xc]
lea ecx, [eax + ecx*4 + 0x10]
mov eax, dword [edx]
mov eax, dword [eax + 8]
mov dword [esp + 0x114], edx
lea edx, [esp + 0x114]
push edx
sub eax, ebx
push ecx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], eax
call fcn.004d89e0
add esp, 8
test al, al
jne 0x51ad7a
mov dword [esp + 0x14], 0
jmp 0x51b25f
cmp dword [ebp + 0x54], 0xf
je 0x51b070
mov ecx, dword [esp + 0x30]
mov eax, 0x51eb851f
imul ecx
mov ebx, dword [esp + 0xc0]
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
imul esi, esi, 0x64
sub ecx, esi
cmp ecx, ebx
je 0x51adde
mov eax, dword [esp + 0x20]
and eax, 0xc00
cmp eax, 0x800
je 0x51add8
cmp eax, 0xc00
jne 0x51adde
mov eax, dword [ebp + 4]
push eax
mov ecx, ebp
mov byte [esp + 0x17], 1
call fcn.00515800
cmp dword [eax], 0x800
jne 0x51adde
add esi, ebx
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push ecx
push esi
call fcn.00515350
add esp, 0xc
test al, al
jne 0x51adfd
xor ecx, ecx
jmp 0x51ae0c
mov eax, dword [esp + 0x34]
mov ebx, edi
mov ecx, esi
call fcn.00514b90
mov ecx, eax
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea edx, [eax*8]
sub edx, eax
mov eax, dword [esp + 0x94]
sub edx, ecx
lea esi, [edx + eax - 1]
mov dword [esp + 0x84], ecx
test esi, esi
je 0x51ae99
cmp dword [esp + 0x14], 2
jne 0x51ae99
mov eax, dword [esp + 0x20]
test eax, 0x1000
je 0x51ae99
mov ecx, dword [ebp + 4]
shr eax, 8
and al, 1
push ecx
mov ecx, ebp
mov byte [esp + 0x17], al
call fcn.00515800
cmp dword [eax], 0x1000
je 0x51ae73
cmp dword [ebp + 4], 0xffffffff
jne 0x51ae99
add edi, esi
mov dword [esp + 0x2c], edi
test edi, edi
jg 0x51ae82
add edi, 7
jmp 0x51ae95
lea ecx, [esp + 0x84]
call fcn.00515280
cmp edi, eax
jle 0x51ae99
sub edi, 7
mov dword [esp + 0x2c], edi
mov eax, dword [ebp + 4]
mov byte [esp + 0x12], 0
test eax, eax
jge 0x51aedc
cmp eax, 0xfffffffd
je 0x51aed7
cmp eax, 0xfffffffe
je 0x51aed2
cmp eax, 0xffffffff
je 0x51aec2
push eax
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004d1870
add esp, 8
lea eax, [ebp + 0x30]
test dword [eax], 0x1100
je 0x51aeed
mov dword [ebp + 0xc], edi
jmp 0x51aeff
lea eax, [ebp + 0x18]
jmp 0x51aec5
lea eax, [ebp + 0x24]
jmp 0x51aec5
mov ecx, dword [ebp + 0x14]
cmp eax, dword [ecx + 8]
jge 0x51aeb4
lea edx, [eax + eax*2]
lea eax, [ecx + edx*4 + 0x10]
jmp 0x51aec5
mov eax, dword [ebp + 0xc]
cmp eax, edi
jle 0x51aeff
mov edi, eax
mov dword [esp + 0x2c], edi
mov byte [esp + 0x12], 1
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push ebx
push esi
call fcn.00515350
add esp, 0xc
test al, al
jne 0x51af49
cmp edi, 0x20
jge 0x51af1e
mov dword [ebp + 0xc], edi
cmp edi, 0x1c
jle 0x51af49
cmp esi, 0xffffed97
jl 0x51af49
jne 0x51af34
cmp ebx, 1
jl 0x51af49
jmp 0x51af36
test esi, esi
je 0x51af49
lea eax, [ebx - 1]
cmp eax, 0xb
ja 0x51af49
cmp byte [ebx + 0x6549c8], 1
jge 0x51af5c
cmp byte [esp + 0x12], 0
je 0x51b074
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
cmp dword [ebp + 0x60], 0
jne 0x51af6f
mov dword [esp + 0x14], 0
jmp 0x51b25f
mov eax, dword [esp + 0x14]
cmp eax, 2
jne 0x51b04d
cmp byte [ebp + 0x58], 0
je 0x51b04d
push 1
push ebx
push esi
lea ecx, [esp + 0x12c]
call fcn.00515f70
mov ecx, eax
call fcn.00515280
mov dword [esp + 0xec], eax
cmp edi, eax
lea eax, [esp + 0x2c]
jl 0x51afb3
lea eax, [esp + 0xec]
mov edi, dword [eax]
mov edx, dword [ebp]
mov edx, dword [edx + 0x18]
lea eax, [esp + 0xe8]
push eax
mov ecx, ebp
mov dword [esp + 0x30], edi
call edx
xor esi, esi
cmp dword [esp + 0x50], esi
jle 0x51b074
push esi
mov ecx, ebp
call fcn.00515800
test dword [eax], 0x1100
je 0x51b044
mov eax, edi
cdq
push edx
push eax
lea eax, [esp + 0x78]
push eax
lea ecx, [esp + 0xf4]
call fcn.005102f0
push esi
mov ecx, ebp
call fcn.00515800
push eax
mov ecx, ebp
call fcn.00517450
lea ecx, [esp + 0x70]
push ecx
push esi
mov ecx, ebp
mov ebx, eax
call fcn.00519600
mov ecx, dword [esp + 0x138]
push eax
push ebx
call fcn.004de0a0
mov edx, dword [esp + 0x70]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51b044
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004d8200
add esp, 4
inc esi
cmp esi, dword [esp + 0x50]
jl 0x51afd7
jmp 0x51b074
cmp eax, 1
mov dword [esp + 0xf4], 1
lea eax, [esp + 0xf4]
jg 0x51b068
lea eax, [esp + 0x14]
mov edx, dword [eax]
mov dword [esp + 0x14], edx
jmp 0x51b074
mov edi, dword [esp + 0x2c]
cmp dword [ebp + 0x54], 0xe
je 0x51b14c
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
test bl, 0x10
je 0x51b117
mov ecx, dword [esp + 0x40]
shr ebx, 5
and bl, 1
cmp eax, 0xffffffff
jne 0x51b0ae
test bl, bl
je 0x51b0ce
xor eax, eax
cmp ecx, 0xc
setge al
mov dword [esp + 0x48], eax
test eax, eax
jne 0x51b0d8
mov esi, dword [esp + 0x44]
mov eax, 0xd5555555
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea esi, [esi + eax*4]
jmp 0x51b0fc
mov dword [esp + 0x48], 0
jmp 0x51b0b2
mov esi, dword [esp + 0x44]
mov eax, 0x2aaaaaab
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
add edx, edx
add edx, edx
mov eax, 0xc
sub eax, edx
add esi, eax
mov dword [esp + 0x44], esi
test bl, bl
jne 0x51b10c
mov ecx, esi
mov dword [esp + 0x40], ecx
jmp 0x51b150
cmp ecx, esi
je 0x51b150
mov byte [esp + 0x13], 1
jmp 0x51b150
cmp eax, 0xffffffff
je 0x51b14c
test bl, 0x20
jne 0x51b12e
lea ecx, [eax + eax*2]
add ecx, ecx
add ecx, ecx
mov dword [esp + 0x40], ecx
jmp 0x51b150
mov ecx, dword [esp + 0x40]
xor edx, edx
test eax, eax
sete dl
xor eax, eax
cmp ecx, 0xc
setl al
cmp edx, eax
je 0x51b150
mov byte [esp + 0x13], 1
jmp 0x51b150
mov ecx, dword [esp + 0x40]
cmp ecx, 0x18
jae 0x51b17c
mov eax, dword [esp + 0xd0]
cmp eax, 0x3c
jae 0x51b17c
mov edx, dword [esp + 0xbc]
cmp edx, 0x3c
jae 0x51b17c
mov esi, dword [esp + 0xa4]
cmp esi, 0x3e8
jb 0x51b189
mov dword [esp + 0xcc], 0xffffffff
jmp 0x51b1ac
mov ebx, ecx
shl ebx, 4
sub ebx, ecx
lea eax, [eax + ebx*4]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea edx, [edx + ecx*4]
imul edx, edx, 0x3e8
add edx, esi
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
push edi
push eax
push esi
call fcn.00515350
add esp, 0xc
test al, al
jne 0x51b1d0
mov dword [esp + 0xac], 0
jmp 0x51b1e4
mov eax, dword [esp + 0x34]
mov ebx, edi
mov ecx, esi
call fcn.00514b90
mov dword [esp + 0xac], eax
mov ecx, dword [ebp + 0x5c]
push ecx
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xd0]
call fcn.00515e40
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x18]
je 0x51b23b
test ecx, ecx
je 0x51b219
mov edx, 1
lock xadd dword [ecx], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test ecx, ecx
je 0x51b23b
mov edx, ecx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51b23b
push ecx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x51b25f
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b25f
mov edx, dword [esp + 0xc4]
push edx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x18]
xor esi, esi
cmp dword [eax + 4], esi
je 0x51b984
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
jle 0x51b984
cmp eax, 0x5265c00
jge 0x51b984
cmp dword [ebp + 0x60], esi
je 0x51b929
cmp dword [esp + 0x14], esi
je 0x51b924
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x1c]
call fcn.00517110
test al, al
je 0x51b924
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00517110
test al, al
jne 0x51b3a1
lea edx, [esp + 0x98]
push edx
push 0
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x28]
call fcn.005185f0
mov ecx, eax
call fcn.004d9b80
mov ecx, dword [eax]
mov esi, dword [ecx + 0xc]
lea edx, [esp + 0xb4]
push edx
push 0
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x24]
call fcn.005185f0
mov ecx, eax
call fcn.004d9b80
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push esi
push edx
push str.QDateTimeParser::parse_Internal_error_3___s__s_
call fcn.004d1870
mov eax, dword [esp + 0xc0]
add esp, 0xc
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b341
mov edx, dword [esp + 0xb4]
push edx
call fcn.004de870
add esp, 4
mov eax, dword [esp + 0xd4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b361
mov edx, dword [esp + 0xd4]
push edx
call fcn.004d8200
add esp, 4
mov eax, dword [esp + 0x98]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b381
mov edx, dword [esp + 0x98]
push edx
call fcn.004de870
add esp, 4
mov eax, dword [esp + 0xa0]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b3a1
mov edx, dword [esp + 0xa0]
push edx
call fcn.004d8200
add esp, 4
xor edi, edi
cmp dword [esp + 0x50], edi
mov byte [esp + 0x12], 0
mov dword [esp + 0x14], edi
jle 0x51b984
cmp byte [esp + 0x12], 0
jne 0x51b984
mov eax, dword [ebp + 0x14]
lea esi, [edi + edi*2]
add esi, esi
add esi, esi
mov ebx, dword [esi + eax + 0x14]
lea ecx, [esi + eax + 0x10]
mov dword [esp + 0x20], ecx
test edi, edi
jge 0x51b427
cmp edi, 0xfffffffd
je 0x51b422
cmp edi, 0xfffffffe
je 0x51b41d
cmp edi, 0xffffffff
je 0x51b3f8
push edi
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004d1870
add esp, 8
lea eax, [ebp + 0x30]
mov eax, dword [eax]
add eax, 3
cmp eax, 2
ja 0x51b430
mov dword [esp + 0x58], 0x6d00d4
mov eax, 0x6d00d4
mov ecx, 1
lock xadd dword [eax], ecx
jmp 0x51b44b
lea eax, [ebp + 0x18]
jmp 0x51b3fb
lea eax, [ebp + 0x24]
jmp 0x51b3fb
cmp edi, dword [eax + 8]
jge 0x51b3ea
mov eax, ecx
jmp 0x51b3fb
push edi
mov ecx, ebp
call fcn.00519600
mov ecx, dword [esp + 0x134]
push eax
push ebx
lea edx, [esp + 0x60]
push edx
call fcn.004d9960
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x5c]
call fcn.004dc290
mov ecx, dword [esp + 0x58]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51b473
mov eax, dword [esp + 0x58]
push eax
call fcn.004d8200
add esp, 4
mov ecx, dword [esp + 0x24]
mov ebx, dword [ecx + 8]
test edi, edi
jge 0x51b593
cmp edi, 0xfffffffd
je 0x51b58b
cmp edi, 0xfffffffe
je 0x51b583
cmp edi, 0xffffffff
je 0x51b4a7
push edi
push str.QDateTimeParser::sectionNode___Internal_error___d_
call fcn.004d1870
add esp, 8
lea eax, [ebp + 0x30]
mov edx, dword [eax + 8]
mov eax, dword [eax]
push edx
push eax
mov ecx, ebp
call fcn.00517520
cmp ebx, eax
jge 0x51b4d6
push edi
lea ecx, [esp + 0x128]
push ecx
mov ecx, ebp
call fcn.00517e50
mov edx, dword [eax]
and dl, 3
cmp dl, 1
jne 0x51b515
mov eax, 0x20
push 1
mov word [esp + 0xf4], ax
mov ecx, dword [esp + 0xf4]
push 0
push ecx
lea ecx, [esp + 0x30]
call fcn.004d9860
cmp eax, 0xffffffff
setne al
movzx edx, al
neg edx
mov byte [esp + 0x3b], al
sbb edx, edx
lea eax, [esp + 0x3b]
test eax, edx
je 0x51b8fd
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
sub eax, 1
je 0x51b5a8
sub eax, 0x1ff
je case.default.0x51b5bd
test byte [esi], 0x3f
mov ecx, dword [esp + 0x1c]
je 0x51b78d
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 4]
mov edx, dword [ecx + 4]
sub edx, esi
jne 0x51b8fd
mov ecx, dword [ecx + 8]
mov edx, dword [eax + 8]
mov eax, ecx
inc eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, edx
inc ecx
neg ecx
sbb ecx, ecx
and ecx, edx
sub eax, ecx
mov ebx, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 4]
sub ecx, esi
test ecx, ecx
jle 0x51b772
or esi, 0xffffffff
jmp 0x51b7a2
lea eax, [ebp + 0x18]
jmp 0x51b4aa
lea eax, [ebp + 0x24]
jmp 0x51b4aa
mov eax, dword [ebp + 0x14]
cmp edi, dword [eax + 8]
jge 0x51b499
lea eax, [esi + eax + 0x10]
jmp 0x51b4aa
push 0
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00517890
inc eax
cmp eax, 5
ja case.default.0x51b5bd
jmp dword [eax*4 + 0x51bb74]
mov dword [esp + 0x14], 2
mov byte [esp + 0x12], 1
jmp case.default.0x51b5bd
mov dword [esp + 0x14], 0
mov byte [esp + 0x12], 1
jmp case.default.0x51b5bd
push 0xa8c0
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x20]
call fcn.00518d00
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x7c]
call fcn.00517110
test al, al
jne 0x51b626
lea ecx, [esp + 0x78]
push ecx
lea ecx, [esp + 0x2c]
call fcn.00517110
test al, al
jne 0x51b626
mov dword [esp + 0x14], 1
mov byte [esp + 0x12], 1
lea ecx, [esp + 0x78]
call fcn.00515650
cmp dword [esi + 8], 3
jl 0x51b52f
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
push 0
lea ecx, [esp + 0xe4]
push ecx
push 0
call fcn.00514c40
mov edx, dword [esp + 0xec]
add esp, 0xc
push 0
push 0
push edi
inc edx
push edx
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.00516690
mov esi, eax
cmp esi, 0xffffffff
je 0x51b8fd
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
push 0
lea edx, [esp + 0xdc]
push edx
push 0
call fcn.00514c40
mov edx, dword [esp + 0x24]
mov ecx, dword [edx + 0xc]
mov eax, esi
sub eax, dword [esp + 0xe4]
add esp, 0xc
sub ecx, 2
je 0x51b6c0
sub ecx, 1
je 0x51b6b9
xor ecx, ecx
jmp 0x51b6c5
mov ecx, 2
jmp 0x51b6c5
mov ecx, 1
push ecx
lea ecx, [edx + 8]
push ecx
push eax
lea eax, [esp + 0x134]
push eax
lea ecx, [edx + 4]
call fcn.00516e00
push eax
lea ecx, [esp + 0x60]
call fcn.00515e40
lea ecx, [esp + 0x1c]
push ecx
lea ecx, [esp + 0x58]
call fcn.00517110
test al, al
jne 0x51b709
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x2c]
call fcn.00517110
test al, al
je 0x51b748
mov eax, dword [esp + 0x54]
test eax, eax
je 0x51b725
mov ecx, eax
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51b725
push eax
call fcn.0059392f
add esp, 4
push 0
push 0
push edi
inc esi
push esi
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.00516690
mov esi, eax
cmp esi, 0xffffffff
jne 0x51b680
jmp 0x51b8fd
mov eax, dword [esp + 0x54]
test eax, eax
je 0x51b764
mov ecx, eax
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51b764
push eax
call fcn.0059392f
add esp, 4
cmp esi, 0xffffffff
je 0x51b8fd
jmp 0x51b8f0
mov ecx, dword [eax + 8]
mov eax, ecx
inc eax
neg eax
sbb eax, eax
and eax, ecx
mov ecx, edx
inc ecx
neg ecx
sbb ecx, ecx
and ecx, edx
sub eax, ecx
mov esi, eax
jmp 0x51b7a2
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x28]
mov ebx, dword [ecx + 4]
mov esi, dword [edx + 4]
sub ebx, eax
sub esi, eax
push edi
mov ecx, ebp
call fcn.00517cf0
cmp ebx, eax
jle 0x51b7bb
mov dword [esp + 0x14], 0
jmp 0x51b8f8
cmp esi, eax
jle 0x51b7c2
or esi, 0xffffffff
push edi
lea eax, [esp + 0x20]
push eax
mov ecx, ebp
call fcn.00518f60
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x51b85e
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
lea ecx, [esp + 0xa8]
push ecx
push eax
lea ecx, [esp + 0xb8]
push ecx
mov ecx, ebp
call fcn.00516950
mov ecx, eax
call fcn.004d9b80
mov edx, dword [eax]
mov eax, dword [edx + 0xc]
push eax
push str.QDateTimeParser::parse_Internal_error_4___s_
call fcn.004d1870
mov ecx, dword [esp + 0xb0]
add esp, 8
or edx, ebx
lock xadd dword [ecx], edx
jne 0x51b831
mov eax, dword [esp + 0xa8]
push eax
call fcn.004de870
add esp, 4
mov ecx, dword [esp + 0xb0]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51b851
mov eax, dword [esp + 0xb0]
push eax
call fcn.004d8200
add esp, 4
mov dword [esp + 0x14], 0
jmp 0x51b8f8
cmp esi, 0xffffffff
je 0x51b872
push edi
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebp
call fcn.00518f60
jmp 0x51b87f
lea edx, [esp + 0x18]
push edx
push edi
mov ecx, ebp
call fcn.005171f0
mov ecx, dword [esp + 0x138]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x20]
sub ecx, dword [edx + 4]
js 0x51b89a
mov edx, dword [esp + 0x24]
cmp ecx, dword [edx + 8]
jl 0x51b89d
or ecx, 0xffffffff
push ecx
lea ecx, [esp + 0x1c]
push ecx
push edi
push eax
push ebx
lea edx, [esp + 0xcc]
push edx
lea ecx, [esp + 0x3c]
call fcn.004dcd90
push eax
mov ecx, ebp
call fcn.00517fa0
test al, al
mov eax, dword [esp + 0xb8]
sete bl
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b8e4
mov edx, dword [esp + 0xb8]
push edx
call fcn.004d8200
add esp, 4
mov dword [esp + 0x14], 0
test bl, bl
jne 0x51b8f8
mov dword [esp + 0x14], 1
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x24]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51b917
mov edx, dword [esp + 0x24]
push edx
call fcn.004d8200
add esp, 4
inc edi
cmp edi, dword [esp + 0x50]
jl 0x51b3b6
jmp 0x51b984
cmp dword [ebp + 0x60], esi
jne 0x51b938
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0x46d8b7
jle 0x51b984
jmp 0x51b980
mov edx, dword [ebp]
mov edx, dword [edx + 8]
lea eax, [esp + 0x88]
push eax
mov ecx, ebp
call edx
lea ecx, [esp + 0x18]
push ecx
mov ecx, eax
call fcn.00517110
mov bl, al
mov eax, dword [esp + 0x88]
cmp eax, esi
je 0x51b97c
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x51b97c
mov eax, dword [esp + 0x88]
push eax
call fcn.0059392f
add esp, 4
test bl, bl
je 0x51b984
mov dword [esp + 0x14], esi
mov dword [esp + 0x5c], 0x6d00d4
mov ecx, 0x6d00d4
mov edx, 1
lock xadd dword [ecx], edx
xor edi, edi
push 0x14
mov dword [esp + 0x64], edi
mov byte [esp + 0x68], 0
call fcn.005939b5
add esp, 4
cmp eax, edi
je 0x51b9c6
mov dword [eax], edi
mov dword [eax + 4], edi
or ecx, 0xffffffff
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edi
jmp 0x51b9c8
xor eax, eax
mov dword [esp + 0x68], eax
cmp eax, edi
je 0x51b9d9
mov ecx, 1
lock xadd dword [eax], ecx
mov esi, dword [esp + 0x134]
push esi
lea ecx, [esp + 0x60]
call fcn.004d5a10
mov edx, dword [esp + 0x14]
mov ecx, dword [ebp + 0x5c]
mov al, byte [esp + 0x13]
mov dword [esp + 0x60], edx
push ecx
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], al
call fcn.00516fa0
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x68]
je 0x51ba46
cmp ecx, edi
je 0x51ba24
mov edx, 1
lock xadd dword [ecx], edx
mov ecx, dword [esp + 0x68]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
cmp ecx, edi
je 0x51ba46
mov edx, ecx
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51ba46
push ecx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x90]
cmp eax, edi
je 0x51ba6a
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51ba6a
mov edx, dword [esp + 0x90]
push edx
call fcn.0059392f
add esp, 4
push esi
lea ecx, [ebp + 0x10]
call fcn.004d5a10
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x130]
mov dword [esi], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov al, byte [esp + 0x64]
mov edx, dword [esp + 0x60]
mov byte [esi + 8], al
mov eax, dword [esp + 0x68]
mov dword [esi + 4], edx
mov dword [esi + 0xc], eax
cmp eax, edi
je 0x51bac9
mov ecx, 1
lock xadd dword [eax], ecx
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x51bac9
or edx, 0xffffffff
lock xadd dword [eax], edx
jne 0x51bac9
mov eax, dword [esp + 0x68]
push eax
call fcn.0059392f
add esp, 4
mov ecx, dword [esp + 0x5c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51bae3
mov eax, dword [esp + 0x5c]
push eax
call fcn.004d8200
add esp, 4
mov eax, dword [esp + 0x18]
cmp eax, edi
je 0x51bb01
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51bb01
mov edx, dword [esp + 0x18]
push edx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, edi
je 0x51bb1f
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51bb1f
mov edx, dword [esp + 0x28]
push edx
call fcn.0059392f
add esp, 4
mov eax, dword [esp + 0x1c]
cmp eax, edi
je 0x51bb3d
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51bb3d
mov edx, dword [esp + 0x1c]
push edx
call fcn.0059392f
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x11c
ret 0x14